我将一个 java.lang.Long 类实例传递给一个方法(显然作为参考),我想知道是否可以修改它的 long 值,以便调用者可以获得修改后的值。我查看了 java.lang.Long 的文档,但似乎不存在这种类型的任何 setter 方法。它是否正确?
问问题
5567 次
3 回答
3
java.lang.Long是不可变的,唯一的方法是将修改后的值重新分配给先前的引用。
public Long someMethod(Long l) {
l = watever;
return l;
}
public void someOtherMethod() {
Long l = 22235637334634263464L;
l = someMethod(l);
}
于 2013-03-10T14:57:53.623 回答
1
Long 在 Java 中是不可变的。您可以通过以下方式在方法内更改它:
- 把它包起来
- 使用 AtomicLong
- 返回更改的值并在方法外重新分配它
于 2014-02-25T11:21:32.513 回答