考慮下面的類:添加未初始化的參考集合,然後初始化它
public class Test {
List<Object> colectionA = new LinkedList<>();
List<Object> colectionB = new LinkedList<>();
Object A;
Object B;
{
collectionA.add(A);
collectionB.add(B);
}
public void setA{..standard..}
public void setB{..standard..}
}
現在,實例化這個類的時候,我結束了含有null
參考兩個集合 - 的制定者並沒有被稱爲尚未。
我需要的是,一旦調用者被調用,引用不再是null
。從本質上講,我需要一些間接 - 這是唯一的方法來使用像Atomic Reference這樣的東西嗎?上下文,如果你需要的話,是我有一個類來管理兩種類型的對象 - 它們都是在啓動時(通過調用者)注入的,但它們大致分爲兩組 - 在一個組中後一點上,我遍歷列表做某些事情 - 但是當我這樣做,儘管制定者被稱爲內容是null
....
你是否打電話給二傳手?田地是否被注入?在制定者中有什麼? –
我寧可建議在默認情況下,不要將A和B添加到集合中,而只能在setter中添加。在那裏可以檢查A/B字段是否有舊值,如果是的話可以先從集合中刪除 – fejese
setters是正常的 - 他們只是在類中設置值。他們被稱爲。 – PaulJWilliams