如何复制 HashMap<String,AddressDTO>
的内容到另一个HashMap<String,AddressBO>
不同类型的。没有
AdressDTO
之间的继承和AddressBO
,两者都是具有相同属性集的 POJO:
AddressDTO addDTO = new AddressDTO();
addDTO.setAdd1("add1");
addDTO.setAdd2("add2");
addDTO.setAddtype("pri");
addDTO.setCity("city");
Map<String,Object> map1 = new HashMap<String,Object>();
map1.put("primary", addDTO);
Map<String,Object> map2 = new HashMap<String,Object>(map1);
AddressBO addnew = (AddressBO) map2.get("primary");
//this will give me runtime error AddressDTO cannot be cast to AddressBO
System.out.println(addnew.getAdd1());
System.out.println(addnew.getAdd2());
System.out.println(addnew.getAddtype());
最佳答案
您可以循环访问条目集的结果,这将为您提供键值对并允许您复制。
此外,HashMap 还采用映射。其他 map 可能也是如此。
关于java - 复制不同类型的HashMap,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676884/