Если значение Integer изнутри карты будет извлечено и помещено в новую переменную int с добавленной к ней причиной, почему оператор ++
не работает с map.get()
функционировать? например, int foo = map.get(key)++;
Использование ++ Унарный оператор с функцией Get Map в Java
Чтобы обойти эту проблему, я использовал
HashMap<key, Integer> map = new HashMap<key, Integer>();
//Integer values are added in
int foo = map.get(key);
foo++;
Но мне интересно, почему до примера является недопустимым аргументом. В соответствии с документацией функция Map get()
возвращает значение, к которому отображается указанный ключ, или null, если эта карта не содержит сопоставления для ключа.
Получено, что возвращаемое значение не равно null, будет возвращено целое число, поэтому не следует, чтобы целое число могло быть увеличено до перехода в foo?
Унарные операторы-указатели не работают с любым вызовом метода, даже если возвращаемый тип является примитивным 'int' –
@Vince Emigh. Можете ли вы объяснить, почему. Я ищу что-то подробное. –