Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.
Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.
1 357 подписчиков · @bookjava
К каналу →
☕ Функциональные интерфейсы: Магия за кулисами Лямбд Если вы используете лямбды (а вы наверняка их используете), значит, вы работаете с функциональными интерфейсами. Давайте разбе…
Читать далее →
2 197
🚀 Функциональные интерфейсы: Level Up В первой части мы разобрали «Великолепную четверку» (Predicate, Consumer, Supplier, Function). Но что делать, если нужно принять два аргумент…
Читать далее →
2 247

🍒 Магия двойного двоеточия: Method References Мы уже научились писать лямбды.

🍒 Магия двойного двоеточия: Method References

Мы уже научились писать лямбды. Но иногда даже лямбда кажется слишком громоздкой. Если ваша лямбда не делает ничего, кроме вызова одного уже существующего метода, Java позволяет использовать Method Reference (ссылку на метод).

Синтаксис простой: Класс::метод (без скобок!).

🛠 4 ситуации, когда это работает

Есть 4 основных способа использовать оператор ::. Важно понимать разницу, чтобы не путаться.

1. Ссылка на статический метод
💙 Лямбда: s -> Integer.parseInt(s)
💙 Reference: Integer::parseInt
💙 Суть: Просто перенаправляем входящий параметр в статический метод.


2. Ссылка на метод конкретного объекта
💙 Лямбда: obj -> System.out.println(obj)
💙 Reference: System.out::println
💙 Суть: У нас уже есть готовый объект (System.out), и мы вызываем его метод для каждого элемента.


3. Ссылка на метод произвольного объекта определенного типа (Самый хитрый пункт! 🤯)
💙 Лямбда: s -> s.toLowerCase()
💙 Reference: String::toLowerCase
💙 Суть: Здесь метод вызывается у самого объекта, который пришел в лямбду. Хотя синтаксис похож на статический вызов, это вызов инстанс-метода.


4. Ссылка на конструктор
💙 Лямбда: () -> new ArrayList<>()
💙 Reference: ArrayList::new
💙 Суть: Используется для создания новых объектов (часто в Stream API: Collectors.toCollection(ArrayList::new)).


💻 Пример: Было vs Стало

Смотрите, как очищается код. Допустим, у нас есть список имен:

List<String> names = Arrays.asList("Alex", "Bob", "Anna");

// ❌ Уровень 1: Анонимный класс (Олдскул)
names.forEach(new Consumer<String>() {
@Override
public void accept(String s) {
System.out.println(s);
}
});

// ⚠️ Уровень 2: Обычная лямбда
names.forEach(s -> System.out.println(s));

// ✅ Уровень 3: Method Reference (Красота)
names.forEach(System.out::println);
🧠 Как понять, когда использовать?

Если ваша лямбда выглядит так:
x -> Class.method(x)
или
x -> x.method()
...смело меняйте её на ::.

Но! Если вам нужно изменить аргумент перед передачей (например, x -> System.out.println("Name: " + x)), то Method Reference уже не подойдет, оставайтесь на лямбде.

#Java #CleanCode #MethodReference

👉 @BookJava
Spring Boot Tutorial | Полный курс В этом учебном пособии по Spring Boot рассказывается о том, как начать работу с Spring Boot и Java. 00:00 Intro 01:00 Quick Word 02:12 Spring B…
Читать далее →
2 352
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https://max.ru/bash_srv Bash Советы https://m…
Читать далее →
2 397
Другие главы канала «Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.»
Выберите главу, чтобы продолжить чтение
Все посты →
Глава от 17.06.2026
🔐 Bouncy Castle: Легендарная криптография для Java Если вы разрабатываете на Ja…
👁 145 просмотров
Глава от 15.06.2026
Сегодня я покажу вам простой, но мощный приём, который помогает упростить работу…
👁 329 просмотров
Глава от 11.06.2026
💡Совет: @TransactionalEventListener — это специализированная версия @EventListen…
👁 441 просмотров
Глава от 10.06.2026
💡 Collection vs List в Java: в чём разница и когда что использовать Сегодня раз…
👁 406 просмотров
Глава от 10.06.2026
👩‍💻 Контейнеризация Java-приложений с Docker Приглашаем на открытый урок. 🗓 22…
👁 413 просмотров
Глава от 09.06.2026
🧵 Как правильно логировать ошибки в Java-приложении Привет, друзья! Сегодня я р…
👁 497 просмотров
Глава от 04.06.2026
🔧 Как ускорить сборку Maven проекта в 3 раза Сегодня покажу пару приёмов, котор…
👁 684 просмотров
Глава от 02.06.2026
👩‍💻 ИИ-ассистенты уже умеют писать код, предлагать исправления и ускорять разраб…
👁 658 просмотров
Глава от 02.06.2026
Совет Spring Framework💡 Вы можете инжектировать (autowire) бины, которые могут …
👁 661 просмотров

Популярные посты канала «Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.»

🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 2 579 просмотров
Совет по Spring Boot💡 Когда вам нужно настроить bean, предоставляемый Spring Boot, проверьте наличие интерфейсов *Customizer - велика вероя…
👁 2 577 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 2 573 просмотров
От 1 до миллиона пользователей (Масштабирование) Представьте: вы написали крутой стартап. Он крутится на дешевом сервере за $5 в месяц. Баз…
👁 2 570 просмотров
🚀 Подборка полезных IT каналов в Max Системное администрирование, DevOps 📌 https://max.ru/i_odmin Все для системного администратора https…
👁 2 569 просмотров
🚀 CI/CD: Роботы делают рутину за вас Аббревиатура состоит из двух частей, и они решают разные проблемы. 🛠 1. CI (Continuous Integration / …
👁 2 565 просмотров
🧩 Микросервисы: Укрощение хаоса (Spring Cloud) Когда у вас один сервис, всё просто. Но когда их становится 10, 20 или 50, возникают вопросы…
👁 2 554 просмотров
🚑 Global Exception Handling: Красиво падаем Представьте: пользователь запрашивает ID, которого нет. 🔴 Плохой сценарий: Сервер выплевывает …
👁 2 551 просмотров
🏗 Порождающие паттерны: Как рождаются объекты? Создать объект просто: User u = new User(). А если у объекта 20 полей? А если нам нужен толь…
👁 2 543 просмотров
🕸️ Распределенная Трассировка: Ищем "бутылочное горлышко" (Zipkin & Jaeger) Если логи это текст, а метрики это графики, то трассировка это …
👁 2 541 просмотров
🧹 Гигиена кода: Рефакторинг и Технический долг Почему проекты умирают? Не из-за плохой идеи, а из-за того, что стоимость добавления новой ф…
👁 2 535 просмотров
📦 От Кода к Продакшену: JAR и Docker В старые времена (Java EE) процесс деплоя был адом: нужно было установить на сервер Tomcat, настроить …
👁 2 535 просмотров
🏗 Структурные паттерны: Адаптер, Декоратор, Прокси Когда вы пытаетесь соединить старую библиотеку с новым кодом или добавить логирование, н…
👁 2 531 просмотров
🔎 Elasticsearch: Как найти иголку в стоге сена за 10 мс Представьте каталог на 10 миллионов товаров. Пользователь вводит в поиск: "айфон 15…
👁 2 531 просмотров
🎛 Конфигурация Spring Boot: YAML, Профили и Секреты Хардкодить настройки (порты, пароли, URL-ы) в Java-коде - это моветон. Если вам нужно п…
👁 2 530 просмотров
💾 Spring Data JPA: SQL больше не нужен? Spring Data JPA это абстракция над Hibernate (который, в свою очередь, является реализацией JPA). …
👁 2 527 просмотров
🚀 Redis + Spring Cache: Турбо-наддув для бэкенда Самая медленная часть любого приложения это ввод-вывод (I/O). Поход в базу данных (Postgre…
👁 2 527 просмотров
👮‍♂️ Spring Security: Фейсконтроль для вашего API Spring Security - это не просто библиотека, это мощный фреймворк, который встает стеной м…
👁 2 525 просмотров
☸️ Kubernetes: Оркестратор вашего зоопарка Представьте, что у вас 50 микросервисов, каждый запущен в 3 экземплярах (для надежности). Итого …
👁 2 523 просмотров
🗄️ System Design: Как не "положить" Базу Данных? В большинстве веб-приложений (например, Instagram или Twitter) соотношение чтения к записи…
👁 2 522 просмотров

Связанные темы в других каналах

Каналы из той же тематики, где часто появляются близкие сюжеты
Вся тема →
@matematik_andrei_channel
Математик Андрей
Основатель онлайн-школы «Точка Знаний» В канале: — короткие видео по темам 1-11 классов — разбор задач ВПР/ОГЭ/ЕГЭ — применение математики в жизни Получить консульта…
👥 248 549 · +45 648/7д
@obr_mo
Образование Подмосковья
Актуальные новости об образовании в Московской области: школы, колледжи, вузы, олимпиады, ЕГЭ, инициативы Министерства образования МО. Всё для учеников, родителей и педаг…
👥 79 289 · -1 615/7д
@Moscow_school
Московское образование
Успех начинается здесь! Приложение «ЗОЖ с МЭШиком» https://max.ru/meshik_app_bot Для СМИ: press-donm@mos.ru Сайт: mosobr.shkolamoskva.ru ВК: vk.com/educationdep ТГ: htt…
👥 67 317 · -877/7д
@minprosrf
Минпросвещения России
Официальный канал Министерства просвещения России. Всё об образовании для родителей, педагогов и учащихся. Сайт edu.gov.ru ВКонтакте vk.com/minprosvet Однокл
👥 55 103 · +1 789/7д
@Lingvaa
Лингвист | Русский язык Образование
Канал №1 для тех, кто звонИт, а не звОнит! По рекламе: https://clck.ru/3R7DoR Биржа: https://telega.in/c/Lingvaa
👥 53 567 · -114/7д
@id110802233432_biz
Школы РФ
Новости школьного образования для детей и родителей # дети школа школьник новости школьное образование гдз егэ огэ дневник впр оценка учителя родители Реклама: https:…
👥 44 564 · +1 915/7д
🏷 Темы и теги
#Java #CleanCode #MethodReference #spring boot #java #hibernate #docker #собеседование #микросервисы #Образование
📋 О канале Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.
Всё о Java Core, JVM, Multithreading и ООП. Гайды по Hibernate, Kafka, Docker, Kubernetes (K8s) и Microservices. Разбираем SQL, NoSQL и базы данных. Подготовка к интервью: Паттерны, System Design, LeetCode, Roadmap для Junior, Middle, Senior. Новости экосистемы: Kotlin, Android, Maven, Gradle, Git, CI/CD. Тестирование (JUnit, Mockito) и Best Practices разработки высоконагруженных систем.
🔍 Архив всех постов Макс
Поиск по 8,891,494 постам из 201,201 каналов
Попробовать за 1 ₽ →
Удалить пост или канал с МАКСОТЕКИ
Заявка подтверждается через бота Макс: нужно быть администратором канала и добавить бота МАКСОТЕКИ в администраторы. После проверки канал или конкретный пост скрывается с сайта.
📊 Аналитика канала «Java Разработка | Spring Boot Backend & Architecture. Программирование на Джава для Developer. IT Собеседования, Алгоритмы и Coding задачи. Уроки и курсы для роста в Tech.» ➡️ Перейти в канал Макс
Заявка в МАКСОТЕКА
Добавьте свой канал в каталог
Зарегистрируйтесь в личном кабинете и добавьте канал за пару кликов.
Перейти в личный кабинет →

Бесплатная регистрация, быстрая модерация.