Почему объекты объекта не работают с неизменяемыми свойствами в Android

Я изучал библиотеку объектов объекта базы данных комнаты, и я понял что-то странное.

Модель данных сущности не может иметь неизменных свойств, как предполагает этот ответ.

Но я проверил постоянный пример google с kotlin , Room работает с неизменяемыми свойствами. Проверьте этот класс данных в этом примере.

Что может быть причиной такого поведения?

Это может быть хорошей возможностью, если мы можем создать неизменяемые значения (свойства val ), поскольку это ограничивает программистов от изменения уникальных идентификаторов, таких как идентификаторы после создания объекта.

Это странно, потому что я могу сделать свой класс Entity с помощью val для всех моих полей без проблем

 @Entity(tableName = "repo") data class RepoEntity( @PrimaryKey @ColumnInfo(name = "id") @SerializedName("id") val id: Int, @ColumnInfo(name = "name") @SerializedName("name") val name: String, @ColumnInfo(name = "full_name") @SerializedName("full_name") val fullName: String, @Embedded(prefix = "owner") @SerializedName("owner") val owner: RepoOwnerEntity, @ColumnInfo(name = "html_url") @SerializedName("html_url") val htmlUrl: String, @ColumnInfo(name = "description") @SerializedName("description") val description: String? ) 

И данные все еще хранятся правильно в базе данных. введите описание изображения здесь

Intereting Posts
Kotlin Ошибка: неразрешенная ссылка: merge (для list.merge ()) Как создавать функции с совместимыми параметрами / результатами в Котлине? Kotlin: ArrayIndexOutOfBoundsException при преобразовании DispatchTask в строку TornadoFX как связать стиль узла (или styleClass) с свойством? Класс Android не найден Intermitten и распространяется через код Тесты Kotlin не работают из командной строки с ClassNotFoundException, но работают с IntelliJ Подклассификация класса для изменения переменной параметра типа в Котлине Вывод типа компилятора Kotlin не может выбрать способ вызова (двусмысленность с типичными типами) Перехват метода перегрузки, полностью переопределяющий метод Ожидание объявления члена Не удалось создать нового пользователя Ошибка: не удается получить доступ к файлу класса KObject для kotlin.jvm.internal.KObject не найден Могу ли я сравнить, равны ли два числа с плавающей запятой в Котлине? Импорт банкоматов в kotlin REPL Kotlin view object полное имя типа в студии Android в Mac OS