kotlin:可変長パラメータ配列:kotlin:(vararga:T)/Java(T...arrays)

1282 ワード

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);
    }
}