【发布时间】:2017-08-29 19:03:05
【问题描述】:
当我尝试创建 扩展函数 来设置布尔值 true 或 false 时,如下所示。
Boolean.setTrue(){
this = true
}
Boolean.setFalse(){
this = false
}
它说预期变量。如何做到这一点。
【问题讨论】:
-
什么情况下需要这个?
-
使代码更具可读性。
-
没有比 myBool = false 更易读的了
-
通常你会因为不遵循通常的约定而降低代码的可读性。无论哪种方式都没有关系,因为您永远无法更改
this的值,扩展功能与否。 -
补充一点,如果你可以重新定义它,你可以使用它来使构造函数可能返回不是它作为构造函数的类的实例,这真的会混淆代码(如果你可以的话,在纯 Java 中)这样做你甚至可以创建一个返回 null 的构造函数,这真的会打破许多通常安全的假设)
标签: boolean kotlin kotlin-extension