该怎么理解函数传参里的 context:Context? 中的这个问号呢

该怎么理解函数传参里的 context:Context? 中的这个问号呢

问号的意思不是判断是否为null吗

比如  x?.aaa   这意思不是说x不为null的情况下执行aaa吗,难道context: Context? 的意思是context有可能不传吗

1. 函数传参context:Context? 如何理解问号

2. 如何理解构造方法传参 private var url: String? = null

3. 如何理解构造方法传参 private var url: String?

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕雪 2020-06-09 18:51:21

是的,?,就是可能为空的意思。如果有后续操作,它还有判断的功能,例如

val size = nameList?.size ?: 0

这里就表示nameList是不是为空,如果不为空那就取nameList.size,否则就用0这个值。祝:学习愉快


  • 提问者 三生三途 #1
    那下面的问题怎么理解呢
    2020-06-10 10:10:12
提问者 三生三途 2020-06-09 18:47:49

http://img1.sycdn.imooc.com//climg/5edf685e09cca3ea07820440.jpghttp://img1.sycdn.imooc.com//climg/5edf686e0995e84e05420412.jpg


图1里的构造参数可空,但是真正实例化的时候还是必须要传,除非加上 = null给上默认值,那是不是图1里的问号就多余了呢?让我费解啊

  • 你得传给它呀,本来就必须传,只是它的值可以是空
    2020-06-10 11:45:47
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师