参数中的Java访问变量

1 java variables pointers arguments

我希望能够访问传递给我的方法的变量.我知道C可能有某种方式将某个地址作为参数传递,然后将其称为指针并能够使用该变量.无论如何,这是一个例子.

void myFunction(address to variable) {
    *variable = "example";
}
Run Code Online (Sandbox Code Playgroud)

然后将其称为:

myFunction(&somevariable);
Run Code Online (Sandbox Code Playgroud)

das*_*ght 5

无法通过引用或Java中的指针传递参数,因此实现您想要的效果的唯一方法是传递可变对象,并在您调用的方法中更改其值:

public class ChangeableInt {
    private int number;
    public ChangeableInt(int value) {number = value;}
    public int get() {return number;}
    public void set(int value) {number = value;}
}
Run Code Online (Sandbox Code Playgroud)

有了这个课程,你可以这样做:

void myFunction(ChangeableInt arg) {
   arg.set(42);
}
...
ChangeableInt val = new ChangeableInt(123);
myFunction(val);
System.out.println(val.get()); // prints 42
Run Code Online (Sandbox Code Playgroud)