我只是尝试使用Varargs做一些事情:
刚遇到一个问题:
class A {
public void func(int... a) {
System.out.println("int... a");
}
public void func(double... b) {
System.out.println("double... b");
}
}
public class B {
public static void main(String... args) {
A a = new A();
a.func(); //Getting no compilation error;instead func(int... a) is
//being called
}
}
将A类修改为:
class A {
public void func(int... a) {
System.out.println("int... a");
}
public void func(boolean... b) {
System.out.println("boolean... b");
}
}
现在我收到编译时错误。 只是想知道为什么在与int和double一起使用时不会发生这种情况。但现在只发生了int和boolean。我理解歧义,但这也应该在第一种情况下发生。 我正在使用java 7。 它只发生在布尔的情况下。 你能不能帮我提供解决方案吗?
感谢。