为什么这段代码会打印int?用Short和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?用Short和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
是在1.0版本的Java中并且在5.0版本中添加了自动装箱功能。改变行为会破坏为老版本Java编写的代码。
然而,像这样的混合类型表明你的设计有什么问题,它只是你在困惑中找到的东西。 ;)
这是我的同事,谁正在准备认证的问题。 – ilalex 2011-06-07 16:14:27
如果有一个面试问题,我建议你不要这样写代码,因为它令人困惑。 ;) – 2011-06-07 16:30:57
由于扩大节拍拳击
原因:
因为增宽还有很长很长介绍,其中前拳击后来就这么不打破它这样做的任何代码。
+1:由4个主要版本的Java。 – 2011-06-07 16:04:52
也**加宽节拍VAR ARG ** – 2011-06-07 16:08:13
这个班在哪里? – 2011-06-07 16:03:52
短或短? – 2011-06-07 16:04:19
任何课程都适合。首先 - 短,第二 - 短。 – ilalex 2011-06-07 16:12:30