kotlin lateinit 和 by lazy 的区别
答案:2 悬赏:50 手机版
解决时间 2021-03-23 04:00
- 提问者网友:战皆罪
- 2021-03-22 11:18
kotlin lateinit 和 by lazy 的区别
最佳答案
- 五星知识达人网友:野慌
- 2021-03-22 11:34
你好
Kotlin lateinit 和 by lazy 的区别:
1.lazy{} 只能用在val类型, lateinit 只能用在var类型 如 :
val name: String by lazy { "sherlbon" }
lateinit var adapter: MyAdapter12
2.lateinit不能用在可空的属性上和java的基本类型上 如:
lateinit var age: Int //会报错1
3.lateinit可以在任何位置初始化并且可以初始化多次。而lazy在第一次被调用时就被初始化,想要被改变只能重新定义
4.lateinit 有支持(反向)域(Backing Fields)
希望对你有帮助
Kotlin lateinit 和 by lazy 的区别:
1.lazy{} 只能用在val类型, lateinit 只能用在var类型 如 :
val name: String by lazy { "sherlbon" }
lateinit var adapter: MyAdapter12
2.lateinit不能用在可空的属性上和java的基本类型上 如:
lateinit var age: Int //会报错1
3.lateinit可以在任何位置初始化并且可以初始化多次。而lazy在第一次被调用时就被初始化,想要被改变只能重新定义
4.lateinit 有支持(反向)域(Backing Fields)
希望对你有帮助
全部回答
- 1楼网友:渡鹤影
- 2021-03-22 11:48
我是来看评论的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯