★★Java質問・相談スレッド142★★
■ このスレッドは過去ログ倉庫に格納されています
0233デフォルトの名無しさん
2010/12/10(金) 19:43:48訂正。
「引数 = new なんとか();」のように変数が参照しているオブジェクトを別のインスタンス
に向けても、呼び出し元が参照しているオブジェクトのインスタンスは昔のまま。
したがって、
public static void main(String[] args) {
java.lang.Integer ival = new Integer(1);
sub1(ival);
System.out.println(ival.toString());
}
private static void sub1(Integer anValue) {
anValue = new Integer(2);
}
上のコードを実行すると、コンソールに「1」が表示される。引数で受け取った
anValueが参照していたIntegerのインスタンスは、sub1メソッド内では新しい「2」オブジェクトを
参照するように摩り替わっているが、だからといって呼び出し元が参照していた「1」が「2」を
参照するように書き換わるわけではない。
■ このスレッドは過去ログ倉庫に格納されています