我们使用或明确使用的原因是什么get()
and set()
在科特林?我有一个模型,当我删除显式时,该模型会抛出错误get()
在其变量声明中。
data class SampleDomain(
val publishTime: String = ""
) {
// Removing get() here, publishTime becomes empty
val formattedDate: String
get() = LocalDate.parse(publishTime, DateTimeFormatter.ISO_OFFSET_DATE_TIME).format(
DateTimeFormatter.ofPattern("MMM. dd, yyyy")
)
}
get()
and set()
这就是我们在 Kotlin 中定义 getter 和 setter 的方式。所以简单地回答我们为什么使用它们是因为它们需要定义一个 getter/setter。
如果您指的是以下定义之间的区别:
val formattedDate: String = acquireDate()
val formattedDate: String get() = acquireDate()
Then get()
在这里不仅仅是为了更明确。这两个代码片段做了很多不同的事情。第一个在对象初始化期间获取日期,将其存储在字段中,然后 getter 返回该存储的值。第二个定义了一个自定义 getter,但该值不存储在任何地方 - 每次调用 getter 时都会一次又一次地获取日期。
请参阅文档以获取更多信息:https://kotlinlang.org/docs/properties.html#getters-and-setters https://kotlinlang.org/docs/properties.html#getters-and-setters
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)