Java 两个 varargs 在一个方法中
2022-09-01 02:59:26
在Java中有什么方法可以创建一个方法,该方法期望两个不同的varargs?我知道,使用相同的对象类型,这是不可能的,因为编译器不知道从哪里开始或结束。但是,为什么使用两种不同的对象类型也不可能呢?
例如:
public void doSomething(String... s, int... i){
//...
//...
}
有没有办法创建这样的方法?
谢谢!
在Java中有什么方法可以创建一个方法,该方法期望两个不同的varargs?我知道,使用相同的对象类型,这是不可能的,因为编译器不知道从哪里开始或结束。但是,为什么使用两种不同的对象类型也不可能呢?
例如:
public void doSomething(String... s, int... i){
//...
//...
}
有没有办法创建这样的方法?
谢谢!
抱歉,只有一个 vararg。但是使用asList()使它几乎同样方便:
public void myMethod(List<Integer> args1, List<Integer> args2) {
...
}
-----------
import static java.util.Arrays.asList;
myMethod(asList(1,2,3), asList(4,5,6));
在 Java 中,只允许有一个参数,并且它必须是签名的最后一个参数。varargs
但是它所做的一切无论如何都会将其转换为数组,因此您应该只将两个参数设置为显式数组:
public void doSomething(String[] s, int[] i){