密封数据类结构中的kotlin只读变量
我有这样一个封闭的类:密封数据类结构中的kotlin只读变量,kotlin,Kotlin,我有这样一个封闭的类: public sealed class DocumentBody { public data class Information( val Id: String, val name: String, val sort: Int = 2 ) : DocumentBody () public data class Location( val name: String,
public sealed class DocumentBody {
public data class Information(
val Id: String,
val name: String,
val sort: Int = 2
) : DocumentBody ()
public data class Location(
val name: String,
val address: String? = null,
val sort: Int = 3
) : DocumentBody()
public data class Rating(
val name: String,
val rating: Int,
val sort: Int = 3
) : DocumentBody()
}
对于其中的每一个,我希望排序是默认的,但也不要被覆盖。目前,这可以被覆盖。我如何在这个模型中实现这一点?试试这个:
sealed class DocumentBody(
val sort: Int
) {
data class Information(
val Id: String,
val name: String
) : DocumentBody(sort = 2)
data class Location(
val name: String,
val address: String? = null
) : DocumentBody(sort = 3)
data class Rating(
val name: String,
val rating: Int
) : DocumentBody(sort = 3)
}
您可以将
sort
参数声明为private
,并创建一个getter方法:
public data class Rating(
val name: String,
val rating: Int,
private val sort: Int = 3
) : DocumentBody() {
fun getSort() : Int = sort
}
不清楚你在问什么。排序什么,这些的列表?覆盖什么<代码>只读var是一种矛盾修饰法。您是否在询问如何在不更改实例的情况下对属于
列表的属性进行排序?为此,您需要一个val
,这是一个MutableList
。