次のコードがあります。
public class PassReferenceByValue {
static void modify(String m)
{
m = "Else";
}
public static void main(String [] arg)
{
String actual = "Something";
modify(actual);
System.out.println(actual);
}
}
印刷されますSomething
。
Javaはオブジェクトをまったく渡さないことがわかりました。代わりに、渡された参照のコピーを作成します。私が正しく理解していれば、modify(actual)
Java を呼び出すと、同じオブジェクトへの別の参照が作成されます。これで、 object を参照する 2 つの参照ができましたactual
。次に、2 番目の参照によってオブジェクトを変更すると、オブジェクトが変更されます。actual
コピーされた参照を介してオブジェクトに同じアクセス権があるため、オブジェクトを変更する必要があります。
参照を値で渡すという概念を理解できない場所を誰かに説明してもらえますか?