This question already has answers here:
Is Java “pass-by-reference” or “pass-by-value”?
(86个答案)
3年前关闭。
我想将对变量的引用存储在某个类中,并在此类中对其进行操作。操作应修改原始变量。
特别是以下代码应打印1而不是0。
如何实现这种行为?
(86个答案)
3年前关闭。
我想将对变量的引用存储在某个类中,并在此类中对其进行操作。操作应修改原始变量。
特别是以下代码应打印1而不是0。
class Test {
private Long metric;
public Test(Long m) {
this.metric = m;
++this.metric;
}
}
class Ideone
{
public static void main (String[] args) throws java.lang.Exception
{
Long metric = 0L;
Test test = new Test(metric);
System.out.println(metric);
}
}
如何实现这种行为?
最佳答案
您可以用可变的Long
替换AtomicLong
。但是,您将失去自动装箱功能。
10-07 16:03