Java 使用Short和int重载
为什么这个代码会打印intJava 使用Short和int重载,java,Java,为什么这个代码会打印int public static void main(String[] args) { short s = 5; A(s); } public static void A(int a){ System.out.println("int"); } public static void A(Short a){ System.out.println("short"); } 因为他比拳击强 原因: 因为在稍后引入装箱之前很久就有了加宽,所以为了不
public static void main(String[] args) {
short s = 5;
A(s);
}
public static void A(int a){
System.out.println("int");
}
public static void A(Short a){
System.out.println("short");
}
因为他比拳击强 原因:
因为在稍后引入装箱之前很久就有了加宽,所以为了不破坏任何代码,它会这样做。因为Java的1.0版中添加了向上转换到
int
,而5.0版中添加了自动装箱。更改行为将破坏为旧版本Java编写的代码
然而,像这样的混合类型表明你的设计有问题,这是你在拼图游戏中唯一能找到的东西 此外,任何类的加宽都是合适的。第一个短,第二个短。这是我同事的问题,他正在准备认证。如果有面试问题,我建议你不要那样写代码,因为它让人困惑。;)