美文网首页
Kotlin 每日学习(二)常见操作符

Kotlin 每日学习(二)常见操作符

作者: youthcity | 来源:发表于2018-05-24 23:17 被阅读3次

一、安全调用操作符 ?.

b?.length  // 当 `b`为 null值时,返回b;否者,返回 b.length

安全调用操作符,在链式调用中非常有用。官方例子:
如果一个员工 Bob 可能会(或者不会)分配给一个部门, 并且可能有另外一个员工是该部门的负责人,那么获取 Bob 所在部门负责人(如果有的话)的名字

bob?.department?.head?.name

任何一个属性为空,最后都会返回 null

二、Elvis 操作符 ?:

b?: -1  // 若b为非空,则返回b,否者返回 -1 

继续官方的例子

// 若 b 不为空,则取b.length, 否则返回 -1
val l: Int = if (b != null) b.length else -1

// 使用 ?: 操作符
val I:Int = b?.length ?: -1 

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

三、非空断言运算符 !!

非空断言运算符(!!)将任何值转换为非空类型,若该值为空则抛出异常(NPE异常,空指针异常)。

val b = 9!!
println(b)  // 9

四、安全的类型转换 as?

val a = true
val aInt: Int? = a as? Int   // null

val b = 9
val bInt: Int? = b as? Int // 9

当对目标进行类型转换时,若转换不成功,则会返回 null;否则,返回目标值。

五、过滤非空集合 filterNotNull

val nullableList: List<Int?> = listOf(1, 2, null, 4)
val intList: List<Int> = nullableList.filterNotNull()  // [1, 2, 4]

六、is

检查某个对象是否符合给定类型

val a = "abc"
println(a is String)  // true

参考资料

相关文章

  • Kotlin 每日学习(二)常见操作符

    一、安全调用操作符 ?. 安全调用操作符,在链式调用中非常有用。官方例子:如果一个员工 Bob 可能会(或者不会)...

  • Kotlin学习之运算符

    Kotlin学习之运算符 一、操作符重载 Kotlin有一些固定数量象征性的操作符,可以在任何类中使用它们。方法就...

  • Kotlin语法基础(四)

    Kotlin语法基础篇(四) 相关链接: kotlin语言中操作符的重载 一、操作符及其重载 操作符分类可简单分为...

  • 2-Python学习操作符与函数

    在Python的学习中,常见的操作符有: 算术操作符 大小比较操作符 赋值操作符 逻辑运算操作符 ..........

  • 学习Kotlin中出现的常用操作符

    学习koltin,弄懂它的操作符的意思很重要,下面就记录一下Kotlin常用操作符: 1、类型判断符 is 检查某...

  • Kotlin for android学习十三(布局篇):集合操作

    前言 kotlin官网和[kotlin教程]学习教程的笔记。下一节我们学习数据库,所以这一节先看下操作符的使用。 ...

  • Kotlin學習筆記(一)

    kotlin類型安全 kotlin常用操作符 Elvis操作符 ?:如果?:左邊表達式非空,elvis返回左邊結果...

  • Kotlin流程控制语句笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin泛型笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

  • Kotlin与Java互操作笔记

    Kotlin语言基础笔记 Kotlin流程控制语句笔记 Kotlin操作符重载与中缀表示法笔记 Kotlin扩展函...

网友评论

      本文标题:Kotlin 每日学习(二)常见操作符

      本文链接:https://www.haomeiwen.com/subject/snvhjftx.html