В версию Java 8 была добавлена полноценная поддержка лямбда-выражений — специализированного синтаксиса, позволяющего определить функциональные объекты из формальной системы исчислений λ. Являясь упрощенным вариантом записи безымянных классов, лямбда в Java дает возможность писать более аккуратный и лаконичный программный код для библиотеки Stream API и утилитарного класса Optional. Помимо стандартных коллекций классов, лямбда выражения Java могут использоваться сторонними API: реактивные стримы, JavaFX и т.д. Определение функциональных интерфейсов и лямбда-выражений Лямбда выражения в Java представляют собой специализированный синтаксис записи безымянного класса, с помощью которого реализуется основной функциональный интерфейс. Функциональный интерфейс, встроенный в…
Read MoreРубрика: Коллекции
Immutable объекты в Java. Назначение и использование.
Что такое immutable объекты в Java Это многофункциональные immutable (неизменяемые) объекты, которые можно применять в разных частях программы. Например, это могут быть неизменяемые объекты в многопоточной среде для работы с данными. Также это могут быть сложные константы, которые помогают избежать излишнего использования памяти и перегрузки сборщика мусора (garbage collector). Отдельно стоит упомянуть иммутабельность при работе с коллекциями. Основные параметры имутабельных классов (immutable classes) Для того чтобы сказать, что класс является immutable (неизменяемым) он должен соотвествовать следующим критериям: Не предоставляйте методы, которые модифицируют состояние объекта. Такие методы могут напрямую модифировать состояние…
Read More