Kotlin中表达式var button: Button? = null里的?符号的名称是什么
运算符正式名称
你提到的附加在变量类型末尾的?,正式中文名称为可空类型修饰符,日常开发中也常被简称为「可空标记」。
它是Kotlin空安全体系中的核心符号之一,作用是将原本不允许存储null的基础类型,转换为支持空值的可空类型,你示例中的var button: Button? = null就是将Button类型修饰为可空的Button?类型,才允许将变量初始化为null。
和安全调用运算符的区别
你提到的?.是独立的「安全调用运算符」,和类型末尾的?是功能完全不同的两个符号:
- 可空类型修饰符
?属于类型层面的修饰符号,仅能附加在类型声明后方,用于定义类型的可空属性 - 安全调用运算符
?.属于调用层面的操作符号,用于访问可空类型的成员,当调用对象为null时会直接返回null,避免触发空指针异常
内容的提问来源于stack exchange,提问作者Rawnak Yazdani
相关产品推荐
相关产品推荐

