Sobes.tech
Назад к вопросам
Junior — Middle
68

Можно ли объявлять функцию Lambda внутри data class в Kotlin?

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

В Kotlin можно объявлять функции-лямбды (lambda) как свойства внутри data class. Например, вы можете добавить поле типа (Int) -> String в data class и инициализировать его лямбдой. Однако стоит помнить, что data class предназначены для хранения данных, и включение логики в виде лямбд может усложнить их использование, особенно при сравнении и копировании объектов.

Пример:

data class User(
    val name: String,
    val transform: (String) -> String
)

val user = User("Alice") { input -> input.uppercase() }
println(user.transform("hello")) // Выведет: HELLO

Таким образом, объявлять лямбды внутри data class можно, но стоит оценивать, насколько это оправдано с точки зрения архитектуры и читаемости кода.