java递增整数的int值?
在Java中如何增加整数的值?我知道我可以用intValue得到值,我可以用新的整数(inti)设置它
playerID.intValue()++;
似乎不起作用
注意:PlayerID是一个整数,它是通过以下方式创建的:
Integer playerID = new Integer(1);
你可以在下面搜索框中键入要查询的问题!
在Java中如何增加整数的值?我知道我可以用intValue得到值,我可以用新的整数(inti)设置它
playerID.intValue()++;
似乎不起作用
注意:PlayerID是一个整数,它是通过以下方式创建的:
Integer playerID = new Integer(1);
# 1 楼答案
AtomicInteger
也许这也有一些价值:有一个名为^{} 的Java类
这个类有一些有用的方法,比如^{} 或^{} (及其对应的方法),它们允许您增加/减少同一实例的值。尽管该类设计用于concurrency的上下文,但它在其他场景中也非常有用,可能适合您的需要
# 2 楼答案
Java7和Java8。增量确实更改了引用,因此它引用了另一个整数对象。看:
整数本身仍然是不可变的
# 3 楼答案
Integer
对象是不可变的,因此一旦创建它们,就不能修改值。您需要创建一个新的Integer
并替换现有的# 4 楼答案
正如格罗德里格斯所说,
Integer
对象是不可变的。这里的问题是您试图增加播放器ID的int
值,而不是ID本身。在Java5+中,您只需编写playerID++
顺便说一句,永远不要调用
Integer
的构造函数。通过直接将int
分配给Integer
来利用自动装箱,如Integer foo = 5
。这将透明地使用Integer.valueOf(int)
,这优于构造函数,因为它不必总是创建新对象# 5 楼答案
对于Java7,增量运算符“++”处理整数。下面是一个经过测试的示例
# 6 楼答案
整数对象是不可变的。您不能更改对象本身保留的整数的值,但可以创建一个新的整数对象来保存结果: