get()中的"this.toString()"有什么用?
What is the use of "this.toString()" in get()?
我在kotlin docs:
中找到了这段代码
var stringRepresentation: String
get() = this.toString()
set(value) {
setDataFromString(value) // parses the string and assigns values to other properties
}
我不明白 this.toString()
在这里做什么。 this
指的是整个对象。为什么每次访问对象时我们都希望将其转换为字符串?它实际上应该是 field.toString()
吗? (但这也是多余的)
它可能来自一个虚构的 class,它可以通过将其 属性 值复制为 JSON 或其他一些序列化字符串格式来将自身序列化为字符串。如果这些属性是可变的,您会希望它在每次获取值时生成一个新的 String。由于它有一个 setter,这个虚构的 class 的 setDataFromString
函数可能采用 JSON 或某种字符串表示形式并将其反序列化为自己的属性。
getter 仅在访问 stringRepresentation
时调用。
setter 没有使用支持字段,因此 getter 没有理由使用支持字段值。
我在kotlin docs:
中找到了这段代码var stringRepresentation: String
get() = this.toString()
set(value) {
setDataFromString(value) // parses the string and assigns values to other properties
}
我不明白 this.toString()
在这里做什么。 this
指的是整个对象。为什么每次访问对象时我们都希望将其转换为字符串?它实际上应该是 field.toString()
吗? (但这也是多余的)
它可能来自一个虚构的 class,它可以通过将其 属性 值复制为 JSON 或其他一些序列化字符串格式来将自身序列化为字符串。如果这些属性是可变的,您会希望它在每次获取值时生成一个新的 String。由于它有一个 setter,这个虚构的 class 的 setDataFromString
函数可能采用 JSON 或某种字符串表示形式并将其反序列化为自己的属性。
getter 仅在访问 stringRepresentation
时调用。
setter 没有使用支持字段,因此 getter 没有理由使用支持字段值。