静态地图初始化块中Integer + 1,整数++之间的区别是什么

时间:2014-09-20 09:26:04

标签: java

在我的代码中,我初始化了如下所述的地图,

Static Map<intger,String> map =new Hashmap<intger,String>();
Static 
{
Integer count=0;
 map.put(count+1,"ranjith");
 map.put(count+1,"kumar");
}

结果:1​​,kumar所以最后一个值只被添加到静态地图

But if try like below

map.put(count++,"ranjith");
map.put(count++,"edr");

Result :i
1,ranjith
2,edr 

所以现在它就要来了......

那么count + 1有什么区别,     算上++   任何人都可以帮我理解静态初始化中Integer + 1和Integer ++之间的区别吗?

4 个答案:

答案 0 :(得分:1)

count + 1:提供的值大于count

count++:具有与上述相同的效果,但此外,count变量本身也将设置为新值。

答案 1 :(得分:0)

count+1是一个表达式,产生一个值,但不会改变计数。 count++也会改变计数本身。

答案 2 :(得分:0)

美丽

名为Increment运算符的一元运算符++将值递增1;

count++count += 1相同,可以表示为count = count + 1

count + 1不会修改count值,只会创建一个值。

答案 3 :(得分:0)

Integer count=0;
map.put(count+1,"ranjith");
map.put(count+1,"kumar");

相当于

map.put(1,"ranjith");
map.put(1,"kumar");

虽然

map.put(count++,"ranjith");
map.put(count++,"edr");

相当于

map.put(1,"ranjith");
map.put(2,"edr");

(假设计数初始化为1)。