これは再投稿ではないことを願っています。私は私の質問に答えたものを見つけることができなかったので、私はこれを作ることにしました。代入演算子を使用してオブジェクトを返すことに違いがない理由
セイ例えば私は単語
arrayS[0] = Hello;
arrayS[1] = World;
有する文字列が今がString []メソッドを持って割り当てる
String [] arrayS = new String [2];
を有します。
public static String [] change(String [] sArray, String newWord){
//Do Stuff
return sArray;
}
したがって、代入演算子の有無にかかわらずメソッドを返すと、同じ結果が得られます。 例...
//This result
String newWord = Hi;
arrayS = change(arrayS, newWord); // With assignment operator.
for(String word:arrayS)
System.out.println(word);
//Is the same as this result
String newWord = Hi;
change(arrayS, newWord); // No assignment operator.
for(String word:arrayS)
System.out.println(word);
このような理由はありますか?私はいつもあなたが帰ってくるときに何かに代入演算子を持たなければならないと思った。しかし、私が配列Sを印刷すると、両方の方法で同じことができました。
私は[Javaの参照渡しまたは値渡し]を見てみるべきだと思います(http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by - 値)、それはその上に何かの光を放つかもしれません。 – csmckelvey
この場合、優先事項です。あなたが返す配列への参照は、あなたが既に呼び出したコードと同じものでなければならないので、参照を返す必要はありません。 –