Kotlin与java语法对比笔记(四)

本文内容是我在学习kotlin语法的过程中学习和总结的一点小知识,很入门,初级水平,大佬请忽略。

如有错误敬请指正,不胜感激

16、判断器

java

int count = 1;
switch (count) {
    case 0:
        System.out.println(count);
        break;
    case 1:
    case 2:
        System.out.println(count);
        break;
    default:
        System.out.println(count);
        break;
}

kotlin

var count = 1

when (count) {
    0 -> {
        println(count)
    }
    in 1..2 -> {
        println(count)
    }
    else -> {
        println(count)
    }
}

17、匿名内部类

java

new Callback() {

    @Override
    public void onSuccess() {

    }

};

kotlin

object:Callback {

    override fun onSuccess() {

    }

}

18、内部类

java

public class MainActivity extends AppCompatActivity {

    public class MyTask {

    }
}

kotlin

class MainActivity : AppCompatActivity() {

    inner class MyTask {

    }
}

19、内部类访问同名变量

java

public class MainActivity extends AppCompatActivity {
    String msg= "菜鸡";
    public class MyTask {
      String msg= "小菜鸡";
      public void message() {
        System.out.println(msg+ "---" + MainActivity.this.msg);
      }

    }
}

kotlin

class MainActivity : AppCompatActivity() {

   var msg= "菜鸡"

   inner class MyTask {

    var msg= "小菜鸡"

    fun show() {
        println("$msg---${[email protected]}")
    }
  }
}

20、默认参数

java

public void toast(String text) {
    toast(this, text, Toast.LENGTH_SHORT);
}

public void toast(Context context, String text) {
    toast(context, text, Toast.LENGTH_SHORT);
}

public void toast(Context context, String text, int time) {
    Toast.makeText(context, text, time).show();
}


toast("提示信息");
toast(this, "提示信息");
toast(this, "提示信息", Toast.LENGTH_LONG);

kotlin

fun toast(context : Context = this, text: String, time: Int = Toast.LENGTH_SHORT) {
    Toast.makeText(context, text, time).show()
}


toast(text = "提示信息")
toast(this, "提示信息")
toast(this, "提示信息", Toast.LENGTH_LONG)

21、数组

java

int[] array1 = {1, 2, 3};
String[] array3 = {"1", "2", "3"};

kotlin

val array1 = intArrayOf(1, 2, 3)
val array3 = arrayListOf("1", "2", "3")

22、循环

java

//普通for循环
String[] array = {"1", "2", "3"};
for (int i = 0; i < array.length; i++) {
    System.out.println(array[i]);
}
//高级for循环
String[] array = {"1", "2", "3"};
for (String text : array) {
    System.out.println(text);
}

kotlin

//普通
val array = arrayListOf("1", "2", "3")
for (i in 1 until array.size) {
    println(array[i])
}
//高级
val array = arrayListOf("1", "2", "3")
for (text in array) {
    println(text)
}

猜你喜欢

转载自blog.csdn.net/LPL0129/article/details/88387761