-2

メソッド内で参照渡しの引数を渡すために、C#に 'out'キーワードが存在することを知っています。 Javaの 'out'キーワードと同等のものが存在しますか(引数を引数として渡すため)?参照渡しの引数Java

+1

Javaは* *値渡し常にあるに変換されます。 *参照渡しはJavaでは何もありません。詳細:[Javaは「参照渡し」または「渡し渡し」ですか?」(http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by -value?rq = 1) –

+0

javaにはこのような機能はありません。 –

+6

[Javaが「参照渡し」または「渡し渡し」の可能性がありますか?](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-orpass – SomeJavaGuy

答えて

0

Javaでは、オブジェクトを使用して参照を保持できるため、返されます。これは比較的醜いですが、避けるのが一番ですが、1つの翻訳のために1つの翻訳をしたい場合は、何かのようにすることができます。

ReturnValue method(out int arg, out String x); 

int[] argRef = { arg }; 
String[] xRef = { x }; 
// call to 
ReturnValue method(int[] argRef, String[] xRef); 

arg = argRef[0]; 
x = xRef[0]; 
+1

"醜い"という言葉は技術用語ではありませんが、なぜそれをそれと呼ぶのでしょうか?私は感情を疑ってはいけません、私は知っていますが、私は好奇心を持っています。ホルダーオブジェクトは、ユビキタスで有益です。 Javaの複雑でないアプローチが素敵なものになるかもしれません。それとも、あなたが「醜い」と思った適切なホルダーオブジェクトではなく、ホルダーとして配列を示したのでしょうか?私は、ホルダー型の使用よりも、配列の使用が慣習的で直接的ではないことに同意します。 –

0

いいえ私が知る限り、Javaにはこのようなものは存在しません。

しかし、パラメータとして使用できるIntegerのようなほとんどの型で使用できるラッパークラスがあります。それから、あなたが扱うオブジェクトがあります。

関連する問題