3

私は C# からの新参者であり、「Java は常に値渡しである」ことを明確に知っています。

しかし、参照渡しは、1 つのメソッドから複数の出力を取得したい場合に便利です。

C# のように、Java で 1 つのメソッドから複数の出力を取得するにはどうすればよいですか。

これを行う 1 つの方法を知っています。一般的なラッパー クラスを使用して、フィールドから値を取得します。

class Wrapper<T> {
    public Wrapper(T value) {
        Value = value;
    }
    public T Value;
}

この効果を実現する別の方法はありますか?

4

2 に答える 2

3

いいえ、Java にはoutパラメータがありません。メソッドが変更するオブジェクト参照を渡して、パラメーターがないふりをすることはできますが、これは通常、最適な設計ではなく、他の問題 (マルチスレッドと変更可能な状態) に遭遇します。

複数の値を返すメソッドを実現する最善の方法は、メソッドが複数の値を含む型を返すようにすることです。

于 2013-05-21T14:21:23.297 に答える
1

Java で参照による呼び出し をシミュレートするもう 1 つの方法は、1 要素の配列をパラメーターとして渡すことです。

于 2013-05-21T15:00:16.237 に答える