Java 可变参数

Java 类有时声明一个具有可变数量参数(varargs)的方法来使用索引。

  1. public class VarArgsDemo<T> {
  2. static VarArgsDemo vad = new VarArgsDemo();
  3. public static void main(String... agrs) {
  4. System.out.println(vad.append("a", "b", "c"));
  5. System.out.println(vad.append(1, 2, 3));
  6. System.out.println(vad.append(1, 2, "3"));
  7. }
  8. public String append(T... element) {
  9. StringBuilder result = new StringBuilder();
  10. for (T e : element) {
  11. result.append(e);
  12. }
  13. return result.toString();
  14. }
  15. }

在Kotlin中,我们使用展开运算符 * 来传递这个varargs:

  1. @RunWith(JUnit4::class)
  2. class VarArgsDemoTest {
  3. @Test fun testVarArgsDemo() {
  4. val varArgsDemo = VarArgsDemo<Any?>()
  5. val array = arrayOf(0, 1, 2, 3)
  6. val result = varArgsDemo.append(*array)
  7. println(result)
  8. }
  9. }

运行输出:0123