【发布时间】:2018-10-02 14:57:32
【问题描述】:
这是我想要做的:
public void add(Integer... newIntegers) {
for (Integer i : newIntegers) {
integers.add(i);
}
}
我不知道为什么,但我无法将ArrayList<Integer> 放入方法中。
我很乐意复制 Lists 的方法,但我认为必须有更有效的方法。
我尝试了以下想法,我可以为 catch 块做你可以做的事情:
public void add(Integer... | List<Integer> newIntegers) {
for (Integer i : newIntegers) {
integers.add(i);
}
}
但是,在快速 StackOverfow 之后,发现这是不可能的。有没有其他办法?
【问题讨论】:
-
你可以在调用你的方法之前转换你的列表,有很多方法可以做到这一点
-
或者使用
List.of(E...)将可变参数转换为列表,然后调用add(List<Integer>)实现。 -
integerList.add(otherIntegerList.toArray(new Integer[]{}));也许效率不高或不漂亮,但它确实有效。
标签: java arrays list methods parameters