我建立了两个Map,其流程是遍历两个map,将map1中value值与map2中相同,但是K值不同的数据查找出来。然后把这条数据从Map2中删除。我使用迭代器在执行移除的时候是报空指针(java.lang.NullPointerException)的错。
请教一下代码问题错误在哪?
代码如下:
for (Map.Entry<String, DBdata> entry1 : map1.entrySet()) {
//初始化数据
String code1 = entry1.getKey();
DBdata data1 = entry1.getValue();
Iterator<Map.Entry<String, DBdata>> iter = map2.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry<String, DBdata> entry2 = iter.next();
String code2 = entry2.getKey();
DBdata data2 = entry2.getValue();
if (code1.equals(code2)) {
continue;
}
if (data1.get_URL() != null) {
if (data1.get_URL().equals(data2.get_URL())) {
if (data1.get_USER_CODE() != null) {
if (data1.getBUSINESS_CODE().equals(data2.getBUSINESS_CODE())) {
if (data1.getSYSTEM_CODE().equals(data2.getSYSTEM_CODE())) {
LOG.info("移除该数据 ");
iter.remove();
}
}
}
}
}
}
}
感觉报空指针异常的不是这段代码