我只是在尝试使用 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。它仅在布尔值的情况下发生。您介意帮我提供解决方案吗?
谢谢。