我想更改变量值而不直接更改它,在C或C ++中我们可以使用指针或引用变量来做到这一点,因为java中没有指针概念,我们怎么能这样做。
在C中,我们可能会这样做
int var=10;
int *ptr;
ptr=&var;
*ptr++;
printf("%d",var);
输出:11
在java中有没有其他方法可以做同样的事情?
提前致谢。
答案 0 :(得分:3)
Java中的所有原始类型(byte,short,int,long,float,double,boolean,char)都是按值调用的,所以有了这些,不行,你就无法做到。你可以用对象来做,因为它们是引用。
示例:
public class MyInt {
public int value;
}
public static void main(String args[]) {
MyInt i1 = new MyInt();
i1.value = 2;
MyInt i2 = i1;
i2.value++;
System.out.println(i1.value);
}