h是哈希映射(通用类型Character,Integer)。第一个示例有效,但是第二个示例抛出错误的结果(无法正确递增)。为什么?
正确的
if (h.containsKey(c)) {
h.put(c, h.get(c)+1);
}
else {
h.put(c, 1);
}
错误的
if (h.containsKey(c)) {
int value = h.get(c);
h.put(c, value++);
}
else {
h.put(c, 1);
}
您正在使用后递增,您的变量仅在递增后才传递给函数
h.put(c, ++value);
这是预递增的语法,它在将变量传递给get
调用之前将其递增
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句