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 没有理由使用支持字段值。