为什么这段代码会打印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"); }
因为int在Java 1.0版中向上广播到,而在5.0版中添加了自动装箱。更改行为将破坏为较旧版本的Java编写的代码。
int
但是,这样的混合类型表明您的设计存在问题,这只是您将在拼图游戏中找到的。;)