什么是Kotlin双重轰炸
我使用Android Studio将Java转换为Kotlin。 在实例变量之后,我得到了双重爆炸。 什么是双重的,更重要的是这个记录在哪里?
mMap!!.addMarker(MarkerOptions().position(london).title("Marker in London"))
这是不安全的可空类型( T?
)转换为不可空类型( T
)。 如果值为null
,它将抛出NullPointerException
。
这里记载的是与Kotlin无效安全的手段。
这是一个例子,使事情更清楚。 说你有这个功能
fun main(args: Array<String>) { var email: String; email = null println(email); }
这将产生以下编译错误。
Null can not be a value of a non-null type String
现在,您可以通过向String
类型添加一个问号来使其不可用。
所以我们有
fun main(args: Array<String>) { var email: String?; email = null println(email); }
这产生了一个结果
null
现在,如果我们希望函数在email的值为空时抛出异常,我们可以在电子邮件的末尾添加两个惊叹号。 喜欢这个
fun main(args: Array<String>) { var email: String?; email = null println(email!!); }
这将抛出一个KotlinNullPointerException
- 如何在kotlin中获取当前的类文件名
- 我可以比较Kotlin中两个浮点数是否相等吗?
- 春天的数据mongodb和kotlin
- Android studio 2.3:无法初始化类org.jetbrains.kotlin.android.actions.NewKotlinActivityAction
- 为什么一些Java的setter方法自动成为Kotlin的属性,但有一些不是?
- 如何在kotlin编程语言中使用如下所述的循环?
- Kotlin RuntimeInvisibleParameterAnnotations属性:MyType(String)
- Linux Mint上的IntelliJ IDEA中构建过程异常终止
- 如何使用Gradle建立Google协议缓冲区和Kotlin?