Java 两个 varargs 在一个方法中

2022-09-01 02:59:26

在Java中有什么方法可以创建一个方法,该方法期望两个不同的varargs?我知道,使用相同的对象类型,这是不可能的,因为编译器不知道从哪里开始或结束。但是,为什么使用两种不同的对象类型也不可能呢?

例如:

public void doSomething(String... s, int... i){
    //...
    //...
}

有没有办法创建这样的方法?

谢谢!


答案 1

抱歉,只有一个 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));

答案 2

在 Java 中,只允许有一个参数,并且它必须是签名的最后一个参数。varargs

但是它所做的一切无论如何都会将其转换为数组,因此您应该只将两个参数设置为显式数组:

public void doSomething(String[] s, int[] i){