1

所以我刚刚发现了一个我没想到的行为,我希望有人为我澄清它,因为虽然关于如何重载可变参数有很多问题,但我没有找到专门解决这个问题的问题。

有下一段代码:

public foo(Object... bar) { ... }

public foo(List<Object> bar) { ... }

然后将此foo方法称为

List<Sting> myParam = initializeWithSomething();
foo(myParam);

varargs foo方法受到青睐,在方法执行期间将列表作为创建数组中的唯一元素。如果 Java 通常选择最具体的可能重载,这是怎么发生的?

4

0 回答 0