Kotlin中的? 、?. 、?: 、!!、as?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kotlin中的? 、?. 、?: 、!!、as?相关的知识,希望对你有一定的参考价值。

参考技术A 声明一个变量可为空。

判空操作
2.1

如果 b 为空,返回 null,否则就返回 b.length。
2.2
如果要只对非空值执行某个操作,安全调用操作符可以与let 、run等一起使用:

Elvis操作符。
如果 ?: 左侧表达式为空,则返回右侧表达式,否则返回左侧表达式。 请注意,当且仅当左侧为空时,才会对右侧表达式求值。

非空断言运算符。若值为空则抛出异常。

我们可以写 b!! ,这会返回一个非空的 b 值 (例如:在我们例子中的 String)或者如果 b 为空,就会抛出一个 NPE 异常。

安全的类型转换,如果尝试转换不成功则返回 null:

https://www.kotlincn.net/docs/reference/null-safety.html

Kotlin 符号( ‘?.‘ ‘?:‘ ‘!!‘ ‘as?‘ ‘?‘ )

一、常用的几个复合符号

2.1、 ?.安全调用符

if (foo != null)
    return foo.bar()
else

    return null

2.2、 ?:

2.3、 as?

2.4、 !!

2.5、 ?

2.6 ::

Kotlin 中 双冒号操作符 表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法。

详情参考:https://blog.csdn.net/lv_fq/article/details/72869124
参考 https://blog.csdn.net/lckj686/article/details/80448471

如果你也热衷技术欢迎加群一起进步:230274309 。 一起分享,一起进步!少划水,多晒干货!!欢迎大家!!!(进群潜水者勿加)

点击链接加入群聊【编程之美】:https://jq.qq.com/?_wv=1027&k=h75BfFCg

或者扫码

以上是关于Kotlin中的? 、?. 、?: 、!!、as?的主要内容,如果未能解决你的问题,请参考以下文章

智能转换与 KOTLIN 中的显式转换有何不同

在AS中Kotlin与Java互转

Kotlin 符号( ‘?.‘ ‘?:‘ ‘!!‘ ‘as?‘ ‘?‘ )

Kotlin 符号( ‘?.‘ ‘?:‘ ‘!!‘ ‘as?‘ ‘?‘ )

Kotlin 符号( ‘?.‘ ‘?:‘ ‘!!‘ ‘as?‘ ‘?‘ )

将源附加到 kotlin 库项目不显示在 AS