美文网首页
kotlin之对比学习

kotlin之对比学习

作者: 人鱼小姐没有腿 | 来源:发表于2019-11-29 16:51 被阅读0次

    常量与变量

    java
    String name = "Pan Zhou";
    final String name = "Pan Zhou";
    
    kotlin
    var name = "Pan Zhou"
    val name = "Pan Zhou"
    

    null声明

    java
    String otherName;
    otherName=null;
    
    kotlin
    var otherName : String?
    otherName = null
    

    空判断

    java
    if (text != null) { 
      int length = text.length();
    }
    
    kotlin
    text?.let {
        val length = text.length
    }
    // 或者
    val length = text?.length
    

    字符串拼接

    java
    String a ="a";
    String b = "b";
    String message = a+b;
    
    kotlin
    var a = "a";
    var b = "b";
    var message = $a $b
    

    三元运算符

    java
    String num = x > 5 ? "x > 5" : "x <= 5";
    
    kotlin
    var num = if(x>5)
                "x>5"
           else "x<5"
    

    操作符

    java
    final int andResult  = a & b;
    final int orResult   = a | b;
    
    kotlin
    val andResult  = a and b
    val orResult   = a or b
    

    多重条件

    java
    if (score >= 0 && score <= 300) { }
    
    kotlin
    if (score in 0..300) { }
    

    Case语句

    java
    int score = // some score;
    String grade;
    switch (score) {
        case 10:
        case 9:
            grade = "Excellent";
            break;
        case 8:
        case 7:
        case 6:
            grade = "Good";
            break;
        case 5:
        case 4:
            grade = "OK";
            break;
        case 3:
        case 2:
        case 1:
            grade = "Fail";
            break;
        default:
            grade = "Fail";
    }
    
    kotlin
    var score = // some score
    var grade = when (score) {
        9, 10 -> "Excellent"
        in 6..8 -> "Good"
        4, 5 -> "OK"
        in 1..3 -> "Fail"
        else -> "Fail"
    }
    

    for循环

    java
    for (int i = 1; i <= 10 ; i++) { }
    
    for (int i = 1; i < 10 ; i++) { }
    
    for (int i = 10; i >= 0 ; i--) { }
    
    for (int i = 1; i <= 10 ; i+=2) { }
    
    for (int i = 10; i >= 0 ; i-=2) { }
    
    for (String item : collection) { }
    
    kotlin
    for (i in 1..10) { }
    
    for (i in 1 until 10) { }
    
    for (i in 10 downTo 0) { }
    
    for (i in 1..10 step 2) { }
    
    for (i in 10 downTo 0 step 2) { }
    
    for (item in collection) { }
    

    遍历

    java
    for (Car car : cars) {
      if (car.speed > 100) {
        System.out.println(car.speed);
      }
    }
    
    kotlin
    cars.filter { it.speed > 100 }
          .forEach { println(it.speed)}
    

    方法定义

    java
    void doSomething() {
       // logic here
    }
    
    void doSomething(int... numbers) {
       // logic here
    }
    
    kotlin
    fun doSomething() {
       // logic here
    }
    
    fun doSomething(vararg numbers: Int) {
       // logic here
    }
    

    带返回值的方法

    java
    int getScore() {
       // logic here
       return score;
    }
    
    kotlin
    fun getScore(): Int {
       // logic here
       return score
    }
    
    
    //动态添加数组
     val emptyArr = arrayOfNulls<String>(categoryList.size)
                    for (i in categoryList.indices){
                        emptyArr[i] = categoryList[i].name
                    }
    

    相关文章

      网友评论

          本文标题:kotlin之对比学习

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