我有以下实例化变量
public static int r1 = 10;
我有几个变量r1
- r4
,我想编写一个方法,可以将变量r1
作为方法的参数并递增它。
伪代码看起来像:
r1 = r1 + 1;
我的问题是如何将变量作为一个方法的参数而不是编写4种不同的方法来实现这一目的?
答案 0 :(得分:3)
你不能,因为Java不允许你通过引用传递原始类型的变量。
您可以将变量放入数组中,并传递数组和索引:
public static int[] r = new int[4];
...
public static void modify(int[] array, int pos) {
array[pos]++;
}
...
modify(MyClass.r, 1); // instead of modify(MyClass.r1);
替代方法是将修改后的值返回给调用者,并让他们将其分配回来:
public static int modify(int orig) {
return orig+1;
}
...
MyClass.r1 = modify(MyClass.r1);