Увеличение целого числа в HashMap - PullRequest
28 голосов
/ 25 ноября 2010

Должен ли я вернуть объект, а затем вставить новый? Или я могу просто напрямую увеличить?

Integer temp = myMap.get(key);
temp++;
myMap.put(key, temp);

нет способа просто сделать это (это не работает):

myMap.get(key)++;

Ответы [ 11 ]

0 голосов
/ 25 ноября 2010

Прежде всего: будьте внимательны при распаковке: temp относится к типу Integer. Но операция ++ реализована для int. Так что temp распакован, чтобы набрать int. Это означает, что если temp равен null, вы запускаете исключение NullPointerException.

И вы должны сделать это так, как вы распознали в первом блоке кода.

...