Java函数重载

ncs*_*cst 4 java

任何人都可以告诉我,为什么"int"被打印出来,就像在内部工作一样.

class Test {

void Method(int i) {
    System.out.println("int");
}
void Method(String n) {
    System.out.println("string");
}

public static void main(String [] a) {
    new Test().Method('c');
    }

}
Run Code Online (Sandbox Code Playgroud)

Mak*_*oto 9

角色c被投射到了int.它不会被投射到String.

更正式地说,从该JLS§5.5 -扩大转换,需要从一个地方charint,long,float,或double.

永远不会被视为a的原因String是a char不能被自动装入a String.