Что такое Mutable-аннотация

«Что такое Mutable-аннотация» — вопрос из категории Kotlin, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

@Mutable — это аннотация в Kotlin, которая указывает, что класс или интерфейс может изменяться после создания. Она помогает разработчикам явно обозначать изменяемые структуры данных, улучшая читаемость и предсказуемость кода.

Пример:

@Mutable
data class User(
    var name: String,
    var age: Int
)

Здесь User — изменяемый класс (поля var). Аннотация сигнализирует, что его состояние может меняться.

Нюансы:

  • Не встроена в Kotlin по умолчанию — часто используется кастомная аннотация или из библиотек (например, @Mutable из AndroidX).
  • Альтернатива — @Immutable для неизменяемых объектов.
  • Полезно в многопоточности, чтобы явно разделять изменяемые/неизменяемые данные.