Kotlin中 !!. 跟 ?. 的区别跟用法【转】
2022/1/30 23:06:21
本文主要是介绍Kotlin中 !!. 跟 ?. 的区别跟用法【转】,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在Kotlin中!!跟?都是用于判断空参数异常的
?.意思是这个参数可以为空,并且程序继续运行下去
!!.的意思是这个参数如果为空,就抛出异常
下面给大家举个简单的例子,在JAVA中判断一个参数非空是这样写的:
NullClass nullClass = null;
if (nullClass!=null) {
ullClass.nullFun();
}
将这段代码转换成Kotlin之后呢
val nullClass: NullClass? = null
nullClass?.nullFun()
短短两行就表述完了
在一开始的时候我们声明了一个类,并且在类名后面加了一个? 意思就是这个类可以为空,然后在下面用到这个类里面的一个方法时又加了一个问号,意思就是,当程序运行到这一行时,如果这个参数为空,就跳过这一行,程序继续执行下去
所以?.的用法就是相当于Java里的if()判断null
if (nullClass!=null) {//如果判断为空
//跳过这一行,程序继续执行
nullClass.nullFun();
}
一般?.的用法是:
在新建一个参数的类名后面加一个? 表示这个参数可以为空.
还有就是在用到这个参数的时候后面加? 表示空参数就跳过并且程序继续执行
而!!只用于用到这个参数的时候在后面加!!,表示空参数就抛出异常
还是相同的例子:
val nullClass: NullClass?=null
nullClass!!.nullFun()
换成Java代码就是
NullClass nullClass = null;
if (nullClass!=null) {
nullClass.nullFun();
}else {
throw new NullPointerException();
}
这里大家应该都能看明白了,在第二行参数后面加个!!,意思就是当程序执行到这行,判断这个参数如果是空参数,就抛出异常
所以!!.的用法就是相当于Java里的if()else()判断null
if (nullClass!=null) {//如果判断为空
nullClass.nullFun();
}else {//抛出空参数异常
throw new NullPointerException();
}
————————————————
原文链接:https://blog.csdn.net/wuditwj/article/details/84302715
这篇关于Kotlin中 !!. 跟 ?. 的区别跟用法【转】的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-01-06Kotlin委托属性(1)
- 2023-06-15Kotlin协程-那些理不清乱不明的关系
- 2023-06-08[Kotlin Tutorials 21] 协程的取消
- 2023-05-26Kotlin难点
- 2023-02-23【备战春招】第16天 Kotlin实用技巧
- 2023-02-23【备战春招】第15天 Kotlin扩展Extensions技术探秘
- 2023-02-22【备战春招】第14天 深入理解Kotlin注解
- 2023-02-21【备战春招】第12天 深入理解Kotlin类与接口
- 2023-02-21【备战春招】第13天 深入理解Kotlin泛型
- 2023-02-18【备战春招】第10天 Kotlin方法与Lambda表达式