重複の可能性:
Javaは「参照渡し」ですか?
Javaでの参照により、オブジェクトをパラメーターとしてメソッドに渡す方法を知りたいです。このコードを試しました
public class Class1
{
public Class1()
{
String x = null;
F(x);
//x = null
System.out.println("x = " + x);
}
void F(String x)
{
x = "new String";
}
public static void main(String[] args)
{
new Class1();
}
}
関数Fにaを渡し、その中String
のStringの値を変更しているのがわかりますが、関数Fの外で行った変更はわかりません。このコードを実行すると、//{x = null}
期待したものとは異なります。 //{x = new String}
。