行业知识
Kotlin中的?、!!、?:、:: 、== 符号
2026-11-08 03:15:26
来源:互联网转载
1、?和!!
刚学kotlin的时候,发现语法和java差不多,但是有些小符号很有意思。
fun find(name : String) : A ?
? 加在变量名后,系统在任何情况不会报它的空指针异常。
!! 加在变量名后,如果对象为null,那么系统一定会报异常。
举例 java写法:
ArrayList 0){ println("list不为空")} 使用上面的 ?和 ?: 就可以避免程序中出现的 NullPointerException 。
3、::
表示把一个方法当做一个参数,传递到另一个方法中进行使用,也就是引用一个方法。
class ColonMagic { fun main(msg: Array) { //调用peopleDo方法,并传入参数 “I say !” 和 say方法体 //此处 ::say 是将say方法作为参数传入peopleDo方法 //此处只是将say作为参数,而不会调用say方法,也就不会println(message),不会输出日志 peopleDo("I say !", ::say) } /** * 一个参数 * message:String类型 */ private fun say(message: String) { println(message) } /** * 两个参数 * msg: String类型 * dosay: (String) -> Unit 一个参数为String不需要返回值的方法体 */ private fun peopleDo(msg: String, doSay: (String) -> Unit) { //doSay(msg)调用的就是传入的say方法,即say(msg),只不过参数名是doSay本质是say方法 //此处打印出来 I say ! 日志 doSay(msg) }} 4、===
=就是赋值,
== 表示比较两个值大小,
=== 表示比较对象地址。
fun main(args: Array