list 循環添加元素 最後值一樣的問題

這樣循環出來,所有的值都會變成最後一個
原因是 ArrayList集合裏存的是一個對象的引用。當我們改變對象的值時,之前添加的也會隨之改變。
List cptlist=new ArrayList();
 Map cptmap=new HashMap();
for(String cptRange : CPT_Unlock_Range){

CellRangeAddress cptaddress = CellRangeAddress.valueOf(cptRange);
cptmap.put("FirstColumn",cptaddress.getFirstColumn());
cptmap.put("LastColumn",cptaddress.getLastColumn());
cptlist.add(cptmap);
}

改正方法 放到循環裏,每次都新建一個
for(String cptRange : CPT_Unlock_Range){
Map cptmap=new HashMap();
CellRangeAddress cptaddress = CellRangeAddress.valueOf(cptRange);
cptmap.put("FirstColumn",cptaddress.getFirstColumn());
cptmap.put("LastColumn",cptaddress.getLastColumn());
cptlist.add(cptmap);
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章