Магия IntelliJ IDEA: Evaluate Expression Дебажишь сложную би | Библиотека джависта | Java, Spring, Maven, Hibernate

Магия IntelliJ IDEA: Evaluate Expression

Дебажишь сложную бизнес-логику? Остановился на breakpoint, видишь 15 переменных в Variables, но нужно проверить результат user.getOrders().stream().filter(o -> o.getStatus() == PAID).count().

Обычный путь: добавить переменную, пересобрать, перезапустить дебаг. Или лезть в Watch и там собирать выражение.
А IDEA позволяет выполнять произвольный Java-код прямо в точке остановки — с полным доступом к контексту.

Что делает

— Выполняет любой Java-код в текущей области видимости (методы объектов, статика, создание новых объектов)
— Видит все локальные переменные, поля класса, this, параметры метода
— Поддерживает многострочные выражения с промежуточными переменными
— Работает с лямбдами, стримами, рефлексией — любой валидный Java
— Code Completion работает как в обычном редакторе
— Результат можно раскрыть, посмотреть поля, добавить в Watches

Зачем это нужно

— Проверить гипотезу без изменения кода (а что если отфильтровать по другому полю?)
— Вызвать приватный метод или геттер для отладки
— Протестировать фикс: user.setStatus(ACTIVE); service.process(user) — сработает?
— Посмотреть сложную агрегацию: items.stream().collect(groupingBy(...))

Как использовать

— Поставить breakpoint, дождаться остановки
— Alt+F8 (Cmd+F8 на Mac) или ПКМ → Evaluate Expression
— Написать код, Enter — видишь результат
— Для многострочного: Code Fragment Mode (переключатель в диалоге)
— Можно выделить код прямо в редакторе и нажать Alt+F8 — он подставится автоматически

Курс «Алгоритмы и структуры данных»
Получить консультацию менеджера
Сайт Академии Сайт Proglib

Библиотека джависта

#Enterprise
Библиотека джависта | Java, Spring, Maven, Hibernate

Библиотека джависта | Java, Spring, Maven, Hibernate

@javaproglib
23.11K Подписчиков
Технологии Категория
Все самое полезное для Java-разработчика в одном канале. Список наших каналов: https://t.me/proglibrary/9197. Для обратной св...