Kotlin常用操作符

来源:互联网 发布:剑三丐帮成男脸型数据 编辑:程序博客网 时间:2024/06/03 18:29

Kotlin常用操作符

1、Elvis操作符 ?:

如果 ?: 左边表达式非空,elvis操作符就会返回左边的结果,否则返回右边的结果。 
请注意,仅在左侧为空的时候,右侧的表达式才会计算

val a = b?.length?:-1//等同于:val a: Int = if(b != null) b.length else -1
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

2、安全转换 as?

当使用 as 转型的时候,可能会经常出现 ClassCastException。 所以,现在可以使as?安全转型,当转型不成功的时候,它会返回 null。

注:在使用intent传值的时候,会出现空字符串不能用as强制转型,这是应该使用as?

val m: Int? = a as? Int
  • 1
  • 2
  • 1
  • 2

3、冒号:

用于类的继承,变量的定义 
1、类型和超类型之间的冒号前要有一个空格 
2、实例和类型之间的冒号前不要空格

//定义全局变量时var str: String? = null//类的继承与变量定义class TestActivity<T : Serializable>(str: String) : Activity{} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

4、类型判断符 is

检查某个实例是否是某个类型,如果判断出属于某个类型,那么判断后的分支中可以直接可当该类型使用,无需显示转换

    fun getStringLength(obj: Any): Int? {        //obj在&&右边自动动转换成"String"类型        if (obj is String && obj.length > 0)            return obj.length        return null    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

5、范围操作符 .. 以及 in

使用 in 运算符来检查某个数字是否在指定区间内,

if (i in 1..10) { // 等价于 1 <= i && i <= 10    println(i)}
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

downTo()函数

区间内循环:

for (i in 4 downTo 1){    print(i) //倒叙遍历}   // print “4321”
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

step()函数

可以进行任意数量的迭代,而不是每次变化都是1

for (i in 1..4 step 2) print(i) // prints "13"for (i in 4 downTo 1 step 2) print(i) // prints "42"
  • 1
  • 2
  • 1
  • 2

多行输入符 三个双引号

三引号的形式用来输入多行文本,也就是说在三引号之间输入的内容将被原样保留,之中的单号和双引号不用转义,其中的不可见字符比如/n和/t都会被保留

val str = """         one        two            """  //等价于          val str = "one\ntwo"       val str =  "one" +"\n"+"two"
原创粉丝点击