Ответ
@Mutable — это аннотация в Kotlin, которая указывает, что класс или интерфейс может изменяться после создания. Она помогает разработчикам явно обозначать изменяемые структуры данных, улучшая читаемость и предсказуемость кода.
Пример:
@Mutable
data class User(
var name: String,
var age: Int
)
Здесь User — изменяемый класс (поля var). Аннотация сигнализирует, что его состояние может меняться.
Нюансы:
- Не встроена в Kotlin по умолчанию — часто используется кастомная аннотация или из библиотек (например,
@Mutableиз AndroidX). - Альтернатива —
@Immutableдля неизменяемых объектов. - Полезно в многопоточности, чтобы явно разделять изменяемые/неизменяемые данные.