Kotlin之操作符

编程入门 行业动态 更新时间:2024-10-11 03:24:04

Kotlin之<a href=https://www.elefans.com/category/jswz/34/1770947.html style=操作符"/>

Kotlin之操作符

kotlin常用操作符

    • ? 可空类型
    • ?. 安全调用
    • !! 非空断言
    • ?: 空合并
    • as 类型转换
    • as? 安全类型转换
    • : 继承或者实现
    • :: 函数调用

? 可空类型

申明属性testStr可以为空

val testStr : String? = null

?. 安全调用

实现 当testStr不为空时,输出其长度

//传统学法
val length = {if (testStr != null) testStr.length
}
println("传统写法length=$length")//?.写法
val length2 = testStr?.length
println("?.写法length=$length2")

!! 非空断言

//断言字符串一定不为空
testStr!!.length

如果字符串真的为null,那么程序会报空指针异常

Exception in thread "main" java.lang.NullPointerExceptionat com.example.mykotlin2.evils.KotlinKt.main(kotlin.kt:18)at com.example.mykotlin2.evils.KotlinKt.main(kotlin.kt)

?: 空合并

如果字符真的为null,就输出 ?: 后面的信息

 //?:写法
val info = testStr ?: "当前字符串未null"
println("?:写法info=$info")//?. ?:经常联合使用
val length3 = testStr?.length?:-1
println("联合使用length=$length3")

as 类型转换

open class Person(var name:String,var age:Int)class Student(name: String, age: Int):Person(name,age)val person = Person("kotlin", 85)
val student = Student("java", 100)val asPerson = student as Person
println("as类型转换:$asPerson")
val asStudent = person as Student
println("as类型转换:$asStudent")

as类型转换,如果是无法转换,报错类型转换异常

as类型转换:com.example.mykotlin2.evils.Student@3f99bd52
Exception in thread "main" java.lang.ClassCastException: com.example.mykotlin2.evils.Person cannot be cast to com.example.mykotlin2.evils.Studentat com.example.mykotlin2.evils.KotlinKt.main(kotlin.kt:38)at com.example.mykotlin2.evils.KotlinKt.main(kotlin.kt)

as? 安全类型转换

val asPerson2 = student as? Person
println("as类型转换:$asPerson2")
val asStudent2 = person as? Student
println("as类型转换:$asStudent2")

as? 类型转换,如果是无法转换,会返回null,所以是安全的类型转换

as类型转换:com.example.mykotlin2.evils.Student@3f99bd52
as类型转换:null

: 继承或者实现

继承类

open class Person(var name:String,var age:Int)
class Student(name: String, age: Int):Person(name,age)

实现接口 Runnable

class Man:Runnable{override fun run() {}
}

:: 函数调用

表示把一个方法当做一个参数,传递到另一个方法中进行使用,通俗的来讲就是引用一个方法

fun add(x: Int, y: Int): String = (x + y).toString()fun showInfo(x: Int,y: Int,info: (x1: Int, y1: Int) -> String): String {return info(x,y)
}

调用

showInfo(1,2,::add)listOf(1, 2, 3).forEach(::println)

更多推荐

Kotlin之操作符

本文发布于:2024-03-14 16:24:05,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1736863.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:操作   Kotlin

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!