Почему компилятор предпочитает перегрузку 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

Ответы на вопрос(1)

Ваш ответ на вопрос