Kotlin get()中的“this.toString()”有什么用途?

Kotlin get()中的“this.toString()”有什么用途?,kotlin,tostring,getter-setter,getter,Kotlin,Tostring,Getter Setter,Getter,我在以下文件中找到了这段代码: 我不明白这是怎么回事。这是指整个对象。为什么每次访问对象时都要将其转换为字符串?它应该是field.toString吗?但这也是多余的它可能来自一个虚构的类,该类可以通过将其属性值复制到JSON或其他序列化字符串格式来将自身序列化为字符串。如果这些属性是可变的,您可能希望它在每次获取值时生成一个新字符串。由于它有一个setter,这个虚构类的setDataFromString函数可能接受JSON或某种字符串表示,并将其反序列化为自己的属性 只有在访问stringR

我在以下文件中找到了这段代码:


我不明白这是怎么回事。这是指整个对象。为什么每次访问对象时都要将其转换为字符串?它应该是field.toString吗?但这也是多余的

它可能来自一个虚构的类,该类可以通过将其属性值复制到JSON或其他序列化字符串格式来将自身序列化为字符串。如果这些属性是可变的,您可能希望它在每次获取值时生成一个新字符串。由于它有一个setter,这个虚构类的setDataFromString函数可能接受JSON或某种字符串表示,并将其反序列化为自己的属性

只有在访问stringRepresentation时才会调用getter


setter没有使用支持字段,因此getter没有理由使用支持字段值。

它可能来自一个虚构的类,可以通过将其属性值复制为JSON或其他序列化字符串格式将自身序列化为字符串。如果这些属性是可变的,您可能希望它在每次获取值时生成一个新字符串。由于它有一个setter,这个虚构类的setDataFromString函数可能接受JSON或某种字符串表示,并将其反序列化为自己的属性

只有在访问stringRepresentation时才会调用getter


setter没有使用backing字段,因此getter没有理由使用backing字段值。

它在Kotlin文档中的什么位置?可能是因为set没有对字段设置值,所以字段为空。它应该用于对象的toString调用,因为foo.stringRepresentation看起来更像是我们想要foo对象的字符串表示。@Mattfanke我已经用链接更新了问题。有问题的代码在Getters和Setters部分下。谢谢,链接处的文档与Tenfour04下面所说的匹配Kotlin文档中的内容是什么?可能是因为set没有对字段设置值,所以字段为空。它应该用于对象的toString调用,因为foo.stringRepresentation看起来更像是我们想要foo对象的字符串表示。@Mattfanke我已经用链接更新了问题。有问题的代码在Getters和Setters部分下。谢谢,链接中的文档与下面Tenfour04所说的相符
var stringRepresentation: String
get() = this.toString()
set(value) {
    setDataFromString(value) // parses the string and assigns values to other properties
}