【发布时间】:2021-04-08 04:10:25
【问题描述】:
任何人都知道我为什么要使用property extension 而不是仅仅定义一个本地类扩展?这是我尝试过的属性扩展示例:
class MyClass {
val String.concatMyName: String
get() {
return plus("FRED")
}
}
用法可以是“我的名字是:”.concatMyName 但我也可以
class MyClass{
fun String.concatMyName2() = this.plus("FRED")
}
用法是:“我的名字是:”.concatMyName2() 所以我还没有看到价值。
我认为可能的一个价值是它利用了 getter,因此不必将静态代码放入内存中。那只是节省吗?
【问题讨论】: