错误:包含非法的最终字段-Kotlin

Aje*_*ary 2 android realm kotlin

我正在使用带有Realm,Gson注释的Kotlin数据类从服务器获取数据.

问题:当我在android studio中运行项目时,会出现以下错误

Error:Class "VenderConfig" contains illegal final field "name".
Run Code Online (Sandbox Code Playgroud)

我正在学习Kotlin,所以对此并不太了解.

我的VenderConfig班级是:

@RealmClass
class VenderConfig(
        @SerializedName("name")
        val name: String? = null,
        @SerializedName("website")
        val wb_url: String? = null,
        @SerializedName("icon")
        val icon: String? = null,
        @SerializedName("logo")
        val logo: String? = null,
        @SerializedName("description")
        val description: String? = null,
        @PrimaryKey
        @SerializedName("id")
        val id: Int? = null
) : RealmObject() {

}
Run Code Online (Sandbox Code Playgroud)

我也尝试使用字段打开关键字并删除数据关键字,但它没有解决问题.

Ale*_*nov 11

您应该使用var关键字来声明可变属性.val代表不可变的(最终的).

var name: String? = null
name = "Kotlin" // OK

val immutableName: String? = null
immutableName = "Java" // won't compile, val cannot be reassigned
Run Code Online (Sandbox Code Playgroud)

有关详细信息:属性和字段

请注意,我不熟悉Realm,这可能无法解决您的问题.