Java如何在重载时选择正确的方法进行调用

时间:2018-05-27 19:16:00

标签: java methods overloading ellipsis

我有一段简单的代码:

public static void arr(int i) {
    System.out.println("int");
}

public static void arr(char... ch) {
    System.out.println("char...");
}

public static void main(String[] args) {
    arr('a');
}

当我执行这段代码时,我在控制台中得到'int'。

我知道原始类型的提升,但在我的情况下,我传递一个元素('a')的char数组,但编译器仍然选择arr(int i)方法而不是arr(char ... ch ),为什么?

也许有一个简单的算法来选择正确的方法?

0 个答案:

没有答案