2017-04-05 36 views
-2

我有一個如何使Object類型的列表進行垃圾回收

List<Animal> results= new List<Animal>(); 

內動物類我有值字段的getter setter方法是地圖:

public class Animal 
     { 
     private final HashMap<String,Object> value; 
     } 

    Now I am iterating over result 

    for(int i=0;i<results.size();i++){ 
    { 
     HashMap<String, Object> value= result.get(i).getValue(); 
     String a =value.get("test") 
    } 
} 

我怎樣才能讓整個列表和其中的所有動物對象都有資格進行垃圾回收

+3

錯誤,釋放對列表的所有引用以及它包含的內容?就像任何其他物體一樣? – EJP

+0

M正在執行results.clear(),但似乎不起作用 – user2025528

+1

這將使包含的對象符合GC的條件,如果沒有其他引用它們,但當然不是列表本身。你有一些證據表明它不起作用嗎? – EJP

回答

0

只需指定resultsnull就像

results = null; 

換句話說,不應該有任何引用您的創建對象。

然後有選擇地調用垃圾收集像

System.gc(); 

注:這是沒有必要調用GC。 JVM自動調用GC。