> В Java существует только один способ создания...
# russian_feed
m
В Java существует только один способ создания элемента кода – это лямбда-функция
Как же анонимные классы, частным случаем которых и являются лямбды?
Описание отдельного кода в JVM невозможно, во всех случаях компилятор автоматически создает классы, в которых будет выполняться указанный код
А вот и нет, создание (синтетического) анонимного класса из кода лямбды происходит в рантайме.
можно предположить, что ключевое слово inline могло бы обозначать что-то типа: «подстановки кода в место использования». Т.е. то, что от создания лишних объектов компилятор избавился совсем, но это не так.
А как? Вроде тема недораскрыта.
В текущей реализации нет абсолютно никакой разницы между использованием функций с модификатором «inline» и без него
?!??? inline же не вчера появился, даже инструмент для показа/декомпиляции байт-кода Kotlin имеет галку переключения инлайнинга. Если автор прав, нужно это как-то додокументировать (или намекнуть мне, что я не умею читать). P. S. Там последний комментарий содержит вопрос, почему Kotlin не создаёт анонимные классы из лямбд с помощью метафабрики, как это делает Java 8. Если кто там зарегистрирован, можно ответить автору, что Kotlin совместим с JVM шестой версии, где этой фабрики нет.