Java & Kotlin 公共语法特征

2024-03-22  本文已影响0人  头秃到底

函数

int calculate(int i , int j) {
    return i + j;
}

fun calculate(i: Int, j: Int): Int {
    return i + j;
}

循环

for (int i = 0; i < 10; i++) {
    // 循环体
}

int[] array = {1, 2, 3};
for (int num : array) {
    // 循环体
}

int i = 0;
while (i < 10) {
    // 循环体
    i++;
}

for (i in 0 until 10) {
    // 循环体
}

val array = intArrayOf(1, 2, 3)
for (num in array) {
    // 循环体
}

var i = 0
while (i < 10) {
    // 循环体
    i++
}

变量声明

int num = 10;
String str = "Hello";
final int CONSTANT_NUM = 100;

var num: Int = 10
val str: String = "Hello"
val x = 10                         // Kotlin 可以自动推断出 x 是 Int 类型
var topLevelVar: Int = 10          // 可变顶层属性
val topLevelVal: String = "Hello"  // 不可变顶层属性
lateinit var lateinitVar: String   // 延迟初始化的可变属性
val lazyVal: Int by lazy {         // 懒加载属性
    // 初始化代码
    println("Lazy initialization")
    10
}

Lambda表达式

public interface Comparator<T> {
    int compare(T o1, T o2);
}

List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
Collections.sort(list, (a, b) -> a.compareTo(b));

Collections.sort(list, (a, b) -> {
    System.out.println("Comparing " + a + " and " + b);
    return a.compareTo(b);
});

val list: MutableList<String> = ArrayList()
list.add("Apple")
list.add("Banana")
list.add("Orange")
Collections.sort(list, { a, b -> a.compareTo(b) })

Collections.sort(list) { a, b ->
    println("Comparing $a and $b")
    a.compareTo(b)
}

数组

int[] ints = new int[3];
ints[0] = 1;
ints[1] = 2;
ints[2] = 3;

int[] ints = {1,2,3};

String[] strings = new String[3];
strings[0] = "a";
strings[1] = "b";
strings[2] = "c";

String[] strings = {"a", "b", "c"};

val ints = IntArray(3)
ints[0] = 1
ints[1] = 2
ints[2] = 3

val ints = intArrayOf(1, 2, 3)

val strings = Array(3) { "" }
strings[0] = "a"
strings[1] = "b"
strings[2] = "c"

val strings = arrayOf("a", "b", "c")

List

List<String> arrayList = new ArrayList<>();
List<String> arrayList = new LinkedList<>();

val mutableList: MutableList<String> = ArrayList()
val mutableList: MutableList<String> = LinkedList() // Kotlin没有LinkedList,使用Java的

ArrayList

LinkedList

HashSet

TreeSet

HashMap

TreeMap

上一篇 下一篇

猜你喜欢

热点阅读