и посмотреть медиа
Kotlin Preguntas de Entrevista
и посмотреть медиа
Preguntas de entrevista para desarrolladores de Kotlin con respuestas.
Preguntas de entrevista para desarrolladores de Kotlin con respuestas.
bot de IA para clonar texto a voz y voz en Telegram. Cree audio utilizando la red neuronal de forma rápida y fácil.
Preguntas de entrevista Kotlin: extensiones, coroutenos, colecciones. Con ejemplos de código y explicaciones para Android y backend.
🤔 Можно ли создать анонимный класс внутри inline функции? Анонимный класс внутри inline-функции будет инстанцироваться при каждом вызове функции, что ломает цель inline — избавляться от накладных расходов на объекты. 🚩Что такое анонимный класс в Kotlin? Анонимный класс — это класс без имени, который можно создать с помощью object : Interface {}. interface ClickListener { fun onClick() } fun main() { val listener = object : ClickListener { override fun onClick() { println("Кнопка нажата!") } } listener.onClick() } 🚩Анонимный класс в `inline`-функции Если мы создадим анонимный класс внутри inline-функции, он будет создаваться каждый раз при вызове функции! inline fun setClickListener(action: () -> Unit) { val listener = object : ClickListener { override fun onClick() { action() } } listener.onClick() } fun main() { setClickListener { println("Нажато!") } } Ошибка компиляции Inline function cannot contain object expressions 🚩Как обойти ограничение? Если нужно использовать inline, можно передавать лямбду вместо анонимного класса. Рабочий вариант inline fun setClickListener(noinline action: () -> Unit): ClickListener { return object : ClickListener { override fun onClick() { action() } } } fun main() { val listener = setClickListener { println("Нажато!") } listener.onClick() } Ставь 👍 и забирай 📚 Базу знаний
Открыть канал и посмотреть медиаSolo los usuarios registrados pueden compartir su opinión.
¡Sé el primero en compartir tu experiencia con este recurso!