kotlin : 可变长参数数组:kotlin :(vararg a : T) / Java (T... arrays)

kotlin :

@Test
fun test1() {
    val temp = arrayOf("1", "2", "3")
    temp.forEach {
        println(it)
    }
}
//1
//2
//3


//array前面加星号,变为可变长数组
@Test
fun test2() {
    val temp = arrayOf("1", "2", "3")
    printItem(*temp)
}
//1
//2
//3


//list.toTypedArray()之后array前面加星号,变为可变长数组
@Test
fun test3() {
    //声明一个数组
    val array1 = arrayListOf("str1", "str2", "str3")

    //将数组转化为集合
    val list1 = array1.toList()

    //将集合转化为数组
    val array2 = list1.toTypedArray()

    printItem(*array2)
}
//str1
//str2
//str3


//vararg可变长参数,
// 就是这个位置可以传入任意个该类型参数,
// 简单来说就是个[数组:array],不能list。
private fun printItem(vararg str: String) {
    str.forEach {
        println(it)
    }
}


java :

@Test
public void test1() {
    Integer[] integers = {1, 2, 3};
    for (Integer integer : integers) {
        System.out.println(integer);
    }
}
//1
//2
//3


@Test
public void test2() {
    Integer[] integers1 = {1, 2, 3};
    Integer[] integers2 = {1, 2};
    printItem(integers1);
    printItem(integers2);
}
//1
//2
//3
//1
//2

private void printItem(Integer... integers) {
    for (Integer integer : integers) {
        System.out.println(integer);
    }
}

你可能感兴趣的:(kotlin)