[Android] 可变参数varargs

1,030 阅读1分钟

Java中的可变参数:

Eg: main函数

private static void main(String... args) {
}

private static void main(String[] args) {
}

Kotlin中的可变参数

private static void main(vararg args: String) {
}

private static void main(args: Array<String>) {
}

可变参数的本质

就是数组。

可变参数的传参

Java中可以直接传递,并且可以和数组相互传递。

private static void main1(String... args) {
    main2(args)
}

private static void main2(String[] args) {
    print(args.toString())
}

main("a", "b", "c")

Kotlin中,如果将数组类型传入到可变参数,需要特定符号 *.

private static void main1(vararg args: String) {
    main(*args)
}

private static void main2(args: Array<String>) {
    print(args.toString())
}

main("a", "b", "c")

复杂场景