kotlin--空安全(可空类型和非空类型,Elvis 操作符,!! 操作符)

fun main(args: Array<String>) {

    //如果a没有指明可以为空,那么赋null值的时候编译就不通过
    var a:String ="1111"
    var L=a.length


    //如果变量b声明了可以为空值,那么赋null值得时候编译通过
    var b:String ?
    b=null
    //当b=null的时候,编译器不允许取长度值;
    //var LL=b.length //报错!!!!!!!!!!!!!!!!!

    //可以用判断语句先判断是否为空,
    //判断方法一
    var res=if(b!=null)b.length else "b为空"
    println(res)
    //第二种判断方法
    if(b!=null&&b.length>0){
        println("b不为空!")
    }else{
        println("b为空")
    }
    println("============================================")
    //使用安全操作符
    //说明: 如果b不为空,就返回长度,为空就返回null;
    println(b?.length)   //输出结果: null
    println("============================================")
    //Elvis操作符,?:左边的返回值不为空则返回,否则返回?:右边的值
    var len = a.length?: -1
    println("============================================")
    // !!操作符,抛出一个非空的B 或者空npe(nullPointException)
    var leng=a!!.length
    println(leng)



 


}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值