Почему компилятор предпочитает перегрузку int вместо перегрузки varargs char для char?
Код
public class TestOverload {
public TestOverload(int i){System.out.println("Int");}
public TestOverload(char... c){System.out.println("char");}
public static void main(String[] args) {
new TestOverload('a');
new TestOverload(65);
}
}
Выход
Int
Int
Это ожидаемое поведение? Если так, то почему? Я ожидаю: чар, Int
Примечание: я использую Java 8