這是什麼意思?最容易通過代碼顯示更新參考或返回參考
import java.util.Date;
public class Example {
public static void main(String... args) {
Date d1 = new Date(2014,4,7);
Date d2 = new Date(2014,4,7);
methodA(d1);
System.out.println("Month of d1: " +d1.getMonth());
d2 = methodB(d2);
System.out.println("Month of d2: " +d2.getMonth());
}
public static void methodA(Date d) {
d.setMonth(6);
}
public static Date methodB(Date d) {
d.setMonth(6);
return d;
}
}
首先忽略棄用的日期代碼。在討論可變對象如Date時,最好是在methodB中進行更改並返回引用,或者可以使用methodA的方法嗎?
我懷疑methodB是大多數人會選擇的,但爲什麼?
注意methodA在使用可變對象時只具有與methodB相同的結果。換一個Integer的日期例如,在調用methodA之後,第一個對象的值將保持不變(假設methodA和methodB對兩個相同值的Integer引用都做簡單增量)
去我不會說'methodB'是大多數人選擇的。在某些情況下,有必要使用'methodB',在其他情況下,它並不重要 – mangusta
哇,有0個upvotes的問題和0個upvotes的7個答案..必須是某種記錄! –
仍然在upvoting和標記之間折騰,主要是基於意見的..不能決定,arg! –