Seguinte código:
class etattva105 {
public static void check(Double d1, Double ... d2) {
System.out.println("Double , Var-Args");
}
public static void check(Double d1, Double d2, Double ... d3) {
System.out.println("Double , Double , Var-args");
}
public static void check(double d1, Double d2, Double ... d3) {
System.out.println("double , Double , Var-args");
}
public static void main(String [] args) {
check(12.3, 21.9, 37.7); // line 1
}
}
A. Compilation fails.
B. Compiles fine and produces output “double , Double , Var-args”.
C. Compiles fine and produces output “Double , Var-Args”.
D. Compilation suceeds when line 1 is removed.
E. Compiles fine and produces output “Double , Double , Var-args”.
Eu marquei a “B” como resposta correta… mais ele fala que é a “A” e a “D”
Alguém poderia me explicar isso, sei que as prioridades são 1° primitivo 2° wrappers 3° var-args, mais em qualquer mistura entre eles, qual método será chamado acontece em tempo de execução???