Kotlin与Java基本语法对比(二)

可变长参数函数

java

public void vars(String... params){
    for(String s:params){
        System.out.println(s);
    }
}

kotlin

fun vars(vararg v:String){
    for(vt in v){
        println(vt)
    }
}

NULL检查机制

java

public void nullCheck(String params){
    if(params!=null){
        //TODO--do something
        params.split(":")}
    //强制执行split操作,为空抛异常
    params.split(":")}

kotlin

public fun nullCheck(params:String?){
    //TODO-do something, ?.就表示,如果params!=null 执行split操作,否则跳过
    params?.split(":")
    //TODO--如果强制执行split,则需要如下,会强制执行split操作,但是params为空时会抛出异常
    params!!.split(":")
}

区间

java

//TODO java中基本上所有带区间范围的都是这种情况[a,b),即可以取到a,但是取不到b

kotlin

//输出1234
fun testIn(){
    for(i in 1..4){
        print(i)
    }
}
//什么都不输出
fun testIn2(){
    for(i in 4..1){
        print(i)
    }
}

//输出13,
fun testStep(){
    for(i in 1..4 step 2){
        print(i)
    }
}

等价于java的如下函数
void testStepJava(){
    for(int i=1;i<=4;i+=2){
        System.out.print(i+"");
    }
}

//输出42
fun testStep2(){
    for(i in 4 downTo 1 step 2){
        print(i)
    }
}

等价于java的如下函数
void testStepJava2(){
    for(int i=4;i>=1;i-=2){
        System.out.print(i+"");
    }
}

//取值区间[1,10)
fun testUntil(){
    for(i in 1 until 10){
        print(i)
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值