1

メソッドに渡された変数にアクセスできるようにしたいと思います。Cには、何かのアドレスを引数として渡し、それをポインターとして参照して変数を使用できるようにする何らかの方法があるかもしれないことを私は知っています。とにかく、ここに例があります。

void myFunction(address to variable) {
    *variable = "example";
}

次に、それを次のように呼び出します。

myFunction(&somevariable);
4

3 に答える 3

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;}
}

このクラスを手にすると、次のことができます。

void myFunction(ChangeableInt arg) {
   arg.set(42);
}
...
ChangeableInt val = new ChangeableInt(123);
myFunction(val);
System.out.println(val.get()); // prints 42
于 2013-03-04T14:37:13.770 に答える
1

必要なのは、単純なラッパーテンプレートクラスです...

class ObjWrapper<T> {
  T value;

  void setValue(T val) {
    value=val;
  }

  T getValue() {
    return value;
  }
}
于 2013-03-04T14:39:14.207 に答える
0

何かのようなもの

 class Myclass{
    int x=15;

    System.out.println(x) //15

    public static void main(String... ){

    Myclass obj = new Myclass()
    Myclass newRef =  method(obj)
    System.out.println(newRef.x)   //20




    }
   static Myclass method(Myclass ref){
       ref.x=20

    return ref
  }  
    }//class

'obj'には、ヒープ内のどこかに存在するオブジェクトへの参照があることに注意してください。

于 2013-03-04T14:45:14.693 に答える