這是對問題1 & 2的更多後續。Findbugs與Java中的Date對象的可變性問題
如題告訴了下面的代碼
public Date getSomeDate() {
return someDate;
}
會給你findbug錯誤issue。
建議的解決辦法是複製在兩個getter和setter Date對象像
public Date getSomeDate() {
return new Date(someDate.getTime());
}
這是一個很好的方法還是有什麼其他辦法嗎?
java中有沒有可以解決這個問題的Immutable Date庫?
你的意思是一成不變的吧?無論如何,所述的方法是完美的。 –
@PrinceJohnWesley:謝謝,是的。我已經更新了Qs。你的意思是說可以在所有的getter和setter中使用Date構造函數嗎? – ManuPK
只要您不將呼叫暴露給外部庫。你不需要深入克隆(構造函數)它,因爲你知道你在做什麼。否則,如果它是可變的,則總是給出差異參考。嘗試joda time api –