for(String s:map.keySet()){
map.put(s.toLowerCase(),map.remove(s));
}
以上代码是想实现将map中的Key值转换为打消,value值不变,乍看代码没什么问题。但实际会有错误。
比如:
原来的map是(A,1),(B,2) 想要转换成(a,1),(b,2)
但当map遍历一次之后。map变成了(B,2),(a,1),而不是(a,1),(B,2) 这样导致寻找下一个键值对的时候,出错。具体原因需要研究源码
for(String s:map.keySet()){
map.put(s.toLowerCase(),map.remove(s));
}
以上代码是想实现将map中的Key值转换为打消,value值不变,乍看代码没什么问题。但实际会有错误。
比如:
原来的map是(A,1),(B,2) 想要转换成(a,1),(b,2)
但当map遍历一次之后。map变成了(B,2),(a,1),而不是(a,1),(B,2) 这样导致寻找下一个键值对的时候,出错。具体原因需要研究源码