MyDate.java具有方法對於Integer類型,方法setValue(Integer)未定義?
class MyDate {
public void setValue(Integer value) {
value = 55;
}
}
PassTest.java
import learn.MyDate;
public class PassTest {
public static void changeInt(Integer value) {
setValue(value);
}
顯示錯誤的方法setValue(Integer)
是未定義的類型Integer
?爲什麼?
如果我們在這裏撥打setValue
作爲value.setValue
,會有什麼區別? 我試圖在谷歌找到它,但無法理解它?
你應該在'MyDate'對象上調用'setValue()'。 –
你的方法是在錯誤的類中定義的。您可能希望使用「int」而不是「Integer」來防止關於自動裝箱的奇怪問題。除非你有一個非常特殊的情況,否則請考慮值類型。 –
旁註:在方法'setValue'中設置方法參數對類級沒有影響。 Java在一個副本上工作! – Fildor