我正在尝试将方法的返回值分配给HashMaps列表。
方法返回列表
public List<HashMap<String, String>> getDetails() {
List<HashMap<String, String>> info = new ArrayList<HashMap<String, String>>();
HashMap<String, String> components = new HashMap<String, String>();
//Fetched some result from DataBase in ResultSet (assume i have fetched three rows).
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
components.put("id", rs.getString("id"));
components.put("columnA", rs.getString("columnA"));
components.put("columnB", rs.getString("columnB"));
components.put("columnC", rs.getString("columnC"));
components.put("columnD", rs.getString("columnD"));
info.add(components);
}
return info;
}
通话方式
public void dispDetails(){
List<HashMap<String, String>> info = new ArrayList<HashMap<String, String>>();
details = getDetails();
for(int i=0;i<3;i++){
System.out.println(details.get(i).get("id"));
System.out.println(details.get(i).get("columnA"));
System.out.println(details.get(i).get("columnB"));
System.out.println(details.get(i).get("columnC"));
System.out.println(details.get(i).get("columnD"));
}
}
但不知何故,调用方法列表中的所有值(即dispDetails)都是相同的。
有没有办法分配清单。