❓ В чём разница между Lambdas и Anonymous Classes?
И лямбды, и анонимные классы позволяют создавать "одноразовые" реализации, но лямбды — это более короткий и функциональный способ записать код, реализующий функциональный интерфейс (т.е. интерфейс с одним абстрактным методом).
Ключевые отличия:
🧩 Синтаксис: лямбда короче и читабельнее.
⚡️ Производительность: лямбды компилируются как invoke-dynamic и не создают новый класс → меньше накладных расходов.
🧠 this: внутри лямбды this указывает на внешний объект, а в анонимном классе — на экземпляр самого анонимного класса.
🎯 Назначение: анонимные классы подходят, если нужно переопределить несколько методов или иметь состояние. Лямбды — только для одного метода.
🐸 Библиотека собеса по Java
#core
Post #1105
1.59K
- 👍 12
- 🔥 2
- 👏 1