str*_*ker 6 java function parameter-passing
public class JavaApplication6 {
public static void a(int b)
{
b++;
}
Run Code Online (Sandbox Code Playgroud)
我正在调用函数a
并传递变量b
,目的是像C++引用(&b
)一样递增它.这会有用吗?如果没有,为什么?
public static void main(String[] args) {
int b=0;
a(b);
System.out.println(b);
}
}
Run Code Online (Sandbox Code Playgroud)
虽然您无法真正使用int
(整数的原始类型)来完成此操作,但您可以使用AtomicInteger完成非常类似的操作。只需在类的实例上调用getAndIncrement方法即可。像这样的东西:
public static void a(AtomicInteger b) {
b.getAndIncrement();
}
Run Code Online (Sandbox Code Playgroud)
(请注意,您也不能使用 java.lang.Integer 执行此操作,因为 java.lang.Integer 是一个不可变的类。)