Почему в этом коде отсутствует ошибка компиляции:
public class OverloadingVarArgs
{
public void fun1(int... b)
{
System.out.println("int");
}
public void fun1(long... a)
{
System.out.println("long");
}
public static void main(String[] args)
{
OverloadingVarArgs obj = new OverloadingVarArgs();
obj.fun1();
}
}
Но этот код дает ошибку компиляции!
public class OverloadingVarArgs
{
public void fun1(int... b)
{
System.out.println("int");
}
public void fun1(boolean... a)
{
System.out.println("boolean");
}
public static void main(String[] args)
{
OverloadingVarArgs obj = new OverloadingVarArgs();
obj.fun1();
}
}
Я считаю, что в обоих случаях должна быть ошибка компиляции, но это не так.