kotlin常用操作符

最近因为谷歌在IO大会上宣布Kotlin为Android第一开发语言之后,Kotlin着实火了一把,甚至有人预言,Kotlin将在不久之后完全取代Java对于Android的作用,我闲着无事,整合了一下kotlin的常用操作符,对于初学者来说会有很大帮助。


    1.安全转换操作符:as

      例:

   CompanyBean  mCompany = intent.getSerializableExtra("company") as CompanyBean

       (相当于Java中的 --------->       CompanyBean  mConpany=( CompanyBean )intent.getSerialzableExtra("company");   )

      2.冒号      :

       冒号(“:”)在Kotlin中的作用标识类的继承或者接口的实现,

   在Java中相当于implements    extends  的作用,其中被修饰的类名后加括号,被修饰的接口名后无括号,如下:

    class  Worker :Person() , PersonInter{

                          }

        3. is操作符

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

      例如:

 fun getStringLength(obj: Any): Int? {

//obj在&&右边自动动转换成"String"类型

if (obj is String && obj.length > 0)

return obj.length

return null

}

4.?:操作符

val a = b?.length?:-1

实例中的a值取决于右侧取值,而右侧取值又是根据b值进行判断,需要先对b值进行null的判断,如果b为null,那么直接返回冒号右侧的值-1,而b值不为null

的时候,才能访问属性length,从而返回值。

5.?操作符与 !!操作符

?是在对于对象的属性访问之前检查是否非空,这样就能很好的避免null调用属性的情况,从而避免空指针的出现。

!!操作符在赋值之前不对对象进行非空判断,这样看似很危险(不建议),但是!!操作符也有很多应用场景,例如,有些量在声明时因为一些特殊原因不能进行初始化

,他们只是声明一个类型,或者他们用了lateinit来进行修饰,需要在得到值时再进行赋值,那么这时就用到!!,要知道这样的场景其实也并不少见。

private lateinit var mDateStr: String
private var mChoiceTime: String? = null
。。。。。。
mDateStr = mChoiceTime!!

6.范围操作符  in     判断某个值是否在某个范围内
if (i in 1..10) { // 等价于 1 <= i && i <= 10
    println(i)
}

  
  
    范围操作符downTo,
    
    
         for (i in 4 downTo 1){    print(i) //倒叙遍历}   // print “4321”
    步长值step,
    for(i in 4 downTo 1 step 2) print: 42
    7.多行操作符 """ 一次输出多行内容
    例如:
    var str="""
    one
    two
    """
    • 1
      点赞
    • 0
      收藏
      觉得还不错? 一键收藏
    • 0
      评论
    评论
    添加红包

    请填写红包祝福语或标题

    红包个数最小为10个

    红包金额最低5元

    当前余额3.43前往充值 >
    需支付:10.00
    成就一亿技术人!
    领取后你会自动成为博主和红包主的粉丝 规则
    hope_wisdom
    发出的红包
    实付
    使用余额支付
    点击重新获取
    扫码支付
    钱包余额 0

    抵扣说明:

    1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
    2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

    余额充值