lateinit 的使用
场景: 一个同事喜欢用 lateinit。代码中,针对于变量,很多该关键字。
回想:lateinit 最早期接触,是 findViewbyId 的时候(当然, 现在已经不需要写 findViewbyId 了), 现如今,几乎用不到了~ 取而代之的是 使用 by Lazy{xxxx}了。
思考:如果滥用,往往就要涉及一个问题:需要判断 是否已经init。那我们该怎么处理的?解决方案如下:
lateinit var mObj:String
fun call() {
if (::mObj.isInitialized) {
....
} else {
....
}
}