所以我想這樣的在Java中創建對象的列表
ArrayList<Obj> lst = new ArrayList<Obj>(10);
for (int i = 0; i < 10; i++) {
Obj elem = new Obj();
lst.add(elem);
}
創建對象的名單這是法律還是我擔心對象1得到搗毀當ELEM基準開始指向對象2?如果它是非法的,我該怎麼做呢?有沒有辦法自動生成十個不同的參考名稱?
所以我想這樣的在Java中創建對象的列表
ArrayList<Obj> lst = new ArrayList<Obj>(10);
for (int i = 0; i < 10; i++) {
Obj elem = new Obj();
lst.add(elem);
}
創建對象的名單這是法律還是我擔心對象1得到搗毀當ELEM基準開始指向對象2?如果它是非法的,我該怎麼做呢?有沒有辦法自動生成十個不同的參考名稱?
垃圾收集器將只刪除對象。 在你的情況,你的名單將指向10名不同對象對象,他們是安全的,直到你失去了參考LST對象。
這是完全合法的。您的ArrayList
將包含對剛剛創建的對象的引用,所以它不會被GCed。
你的做法是完全合法的。你將得到一個十個不同的對象的列表。當有指向它的引用
不,你只需要擔心對象1得到丟棄時,有沒有留下來的LST結構引用。 elem參考每次都是「新鮮」的。 – Adam 2012-03-09 23:52:31
你在循環中的兩行也可以寫成'lst.add(new Obj());' – 2012-03-09 23:53:32