我可以寫我自己的,但我猜這是非常標準的。有沒有一個標準的java類來做到這一點?我知道這必須是一個運行時功能,因爲我的代碼的各個部分都可以在不知道對方正在做什麼的情況下設置它 - 我只是希望在發生這種情況時這會失敗。Java模板包裝類,讓你修改對象一次
public class MutableOnce<Type T> {
private T _t;
private boolean _isSet = false;
public void set(T t) {
if(_isSet) {
//raise exception
}
_t = t;
public T get() { return _t; }
}
其他要求是布爾我會包裝默認爲false,這意味着它必須存在之前它的設置 - 這就是爲什麼一個不變的W /構造函數二傳手贏得」工作。我可以使它可以爲空,如果(isNull)將它視爲false ...尋找一個簡單的設計來封裝這個布爾的「設置」。 – djechlin 2012-04-25 14:30:14
爲什麼不在需要時創建對象?在它創建之前它不存在......不知道你用這個結構試圖達到什麼。如果你能解釋**爲什麼你需要這種行爲,這將有所幫助。 – assylias 2012-04-25 14:31:29
這將是可空設計。我不需要「擁有」一個,我需要創建一個地方來存儲它並保持邏輯來檢查我是否已經有一個。考慮到默認值是假的,我可以避免這種情況,只有一個從頭開始只能被重寫一次。聽起來就像我必須下定決心,複雜性在任何設計中都是保守的。 – djechlin 2012-04-25 14:40:31