2

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

谢谢。

4

0 回答 0