可选类型“ …”的值未包装;你是说用’!’ 要么 ‘?’?
有人可以向我解释此错误消息的确切含义吗?我什么时候应该使用“?” 什么时候 ‘!’?
obj?.fn()``fn如果对象不为null,则调用成员函数,否则不执行任何操作。
obj?.fn()``fn
obj!.fn()另一方面断言obj不为null,然后调用fn。如果对象 为 null,则将引发异常。
obj!.fn()
obj
fn
因此,在确定性上是有区别的:您可以询问或直接声明可为空的对象的可为空的属性。