Kotlin的单个感叹号

Kotlin中的单个感叹号是什么意思? 我已经看到了几次,尤其是在使用Java API的时候。 但是我无法在文档或StackOverflow中找到它。

他们被称为平台类型 ,这意味着Kotlin不知道这个值是否可以为null ,由您来决定是否可以为空。

简而言之,问题在于任何来自Java的引用都可能为空,并且Kotlin在设计时是无效的,这迫使用户对每个Java值进行空值检查,或者使用安全调用( ?. )或非空值断言( !! )。 那些在纯Kotlin世界中非常方便的功能,在Kotlin / Java环境中经常使用它们往往会变成一场灾难。

这就是为什么我们采取了一个激进的方法,并且在谈到Java interop时,让Kotlin的类型系统更加轻松:现在来自Java的引用有特别标记的类型 – Kotlin Blog

这是平台类型的符号:

T! 意思是“ TT?