Dio*_*cia 1 java arrays variadic-functions
我在超类上有以下方法:
public void method(Example... examples) {
for (Example e : examples) {
e.doSomething();
}
}
Run Code Online (Sandbox Code Playgroud)
这是对子类的调用:
super.method(examples[0], examples[1], examples[2], examples[3], examples[4], examples[5], examples[6], examples[7], examples[8], examples[9], examples[10]);
Run Code Online (Sandbox Code Playgroud)
有没有更简单的方法来传递元素?类似于 super.method(examples[0 -> 10]) ?
我无法将整个数组 (super.method(examples)) 传递给该方法。
谢谢你。
你可以利用Arrays.copyOfRange(T[], int from, int to)方法
super.method(Arrays.copyOfRange(examples, 1, 11));
Run Code Online (Sandbox Code Playgroud)
下面是一个例子。
package com.foo;
import java.util.Arrays;
public class TestVarArgs {
public void test(String...strings){
}
public static void main(String[] args) {
new TestVarArgs().test(Arrays.copyOfRange(args, 1, 11));
}
}
Run Code Online (Sandbox Code Playgroud)