如果将从Map内提取一个整数值并将其放置到一个新的int变量中并添加一个值,为什么++
运算符不能与map.get()
一起使用功能?例如,int foo = map.get(key)++;
使用++一元运算符与Java中的地图获取功能
为了解决这个问题我用
HashMap<key, Integer> map = new HashMap<key, Integer>();
//Integer values are added in
int foo = map.get(key);
foo++;
但我很好奇,为什么在之前的例子是无效参数。根据文档,Map get()
函数返回指定键映射到的值;如果此映射不包含键映射,则返回null。
授予返回的值不为空,将返回一个整数,所以不应该在进入foo之前增加整数吗?
即使返回的类型是基本'int',一元渐变操作符也不能与任何方法调用一起使用。 – 2014-11-25 06:42:55
@Vince Emigh您能解释原因吗?我正在寻找一些深入的东西。 – 2014-11-25 07:20:43