爲什麼這段代碼會打印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