2013-02-06 71 views
0

嗨,這個問題的答案解釋:Eclipse bug? When is a short not a short? 這是不合法的方法隱式縮小int轉換爲短。這與在方法中的參數很短時將int作爲參數傳遞有關。一個方法中的縮小縮小轉換

但是看起來對於返回類型來說事情是不同的。

public short doStuff(){ 
System.out.println("ciao"); 
return 4; 
} 

即使將要在方法外部分配它也仍然在方法範圍內(也許這是原因)。但是對此有點困惑,我會問你對此的看法。

Thannks提前。

回答

2

它的工作原理是因爲它是一個字面常量。這會給編譯器帶來一個錯誤:

public short doStuff(int test) 
{ 
    System.out.println("ciao"); 
    return test; // error 
} 
+0

爲什麼它對於返回值是正確的,但它不適用於參數?儘管如此,如果我在參數中放置一個變量名的整型文字instad,它會給我一個錯誤,而在返回字段中,如果我放置了文字int,它會順利地進行非常好的縮小轉換。 – Rollerball