如何在Java中更新java.lang.Long的long值?

时间:2013-03-10 14:56:40

标签: java

我将一个java.lang.Long类实例传递给一个方法(显然是作为引用),我想知道是否可以修改其long值以便调用者可以获得修改后的值。我查看了java.lang.Long的文档,但似乎没有这种类型的setter方法。这是对的吗?

3 个答案:

答案 0 :(得分:6)

无法更改长值。它一成不变。 查看thisthat了解详情

答案 1 :(得分:3)

java.lang.Long不可变的,唯一的方法是将修改后的值重新分配给之前的参考。

public Long someMethod(Long l) {
    l = watever;
    return l;
}

public void someOtherMethod() {
    Long l = 22235637334634263464L;
    l = someMethod(l);
}

答案 2 :(得分:1)

Long在Java中是不可变的。您可以通过以下方式在方法内更改它:

  1. 包裹它
  2. 使用AtomicLong
  3. 返回更改后的值并将其重新分配到方法
  4. 之外