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