1. 首页
  2. 数据库
  3. 其它
  4. confundus:Kotlin编译器插件将KotlinJS的unsafeCast引入KotlinJVM 源码

confundus:Kotlin编译器插件将KotlinJS的unsafeCast引入KotlinJVM 源码

上传者: 2021-03-26 16:33:15上传 ZIP文件 99.76KB 热度 3次
Confundus:Kotlin / JVM的不安全转换 Kotlin编译器插件,将Kotlin / JS的unsafeCast引入Kotlin / JVM。 unsafeCast方法绕过类型系统的正常安全性,允许您将可空引用重新解释为不可空引用,或者将类型重新解释为子类型,而无需Kotlin的常规检查。 好吧,为什么呢? 有时您比编译器了解更多。如果您知道可为空的引用实际上是非空的,则可以使用!!以获取非null的参考。如果您知道Any实际上是一个String ,则可以将其as String为as String以用作字符串引用。 这两个都是运行时检查的操作。这意味着存在用于验证转换的字节码。您将从!!获得NullPointerException !!当由于IFNONNULL字节码和对Instrinsics.throwNpe的调用而Instrinsics.throwNpe引用为null时
下载地址
用户评论