如何在Java中接受公共静态变量作为参数

时间:2016-10-06 01:16:48

标签: java

我有以下实例化变量

 public static int r1 = 10;

我有几个变量r1 - r4,我想编写一个方法,可以将变量r1作为方法的参数并递增它。

伪代码看起来像:

r1 = r1 + 1;

我的问题是如何将变量作为一个方法的参数而不是编写4种不同的方法来实现这一目的?

1 个答案:

答案 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);