我試圖將對象(JavaBean)添加到列表中。在循環中創建對象的新實例以添加到列表中
MyWebServiceRequest mywebService = new MyWebServiceRequest();
MyRequestType type= new MyRequestType();
for(int i=0; i< 9; i++){
type.setA(someDynamicValue);
type.setB(someDynamicValue);
mywebService.add(type);
}
此只創建一個(類型)的對象,因此它具有相同的數據添加相同的對象9倍。
MyWebServiceRequest mywebService = new MyWebServiceRequest();
for(int i=0; i< 9; i++){
MyRequestType type= new MyRequestType();
type.setA(someDynamicValue);
type.setB(someDynamicValue);
mywebService.add(type);
}
這創建多個對象,用Diff值添加9 DIFF對象。
如果(for循環)在單個循環中創建數百個對象而不是9個,每次發出請求時都會發生什麼? 所以它在內存中的轉儲權?
如何避免這種情況?
在此先感謝。
澄清你的問題,它不可理解!當你添加MyRequestType type = new MyRequestType()時,你的意思是「獲取確切的請求」和「請求元素」 – anshulkatta 2013-05-13 05:27:02
。在循環中,創建一個新對象9次。 – anshulkatta 2013-05-13 05:28:58
當我不在循環中創建新對象時,對象被添加9次,但所有對象的數據都相同eventhough如果設置了差異數據。當我將新對象放入循環中時,它將9個對象添加到差異數據列表中。它會影響內存的效率嗎?如果我的for循環創建數百個對象會怎麼樣?我經常從內存PermGen空間錯誤開始。 – 2013-05-13 05:49:33