Назад к вопросам
СБЕР
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 можно, но стоит оценивать, насколько это оправдано с точки зрения архитектуры и читаемости кода.