【初心者】Java質問・相談スレッド94【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0149デフォルトの名無しさん
2006/11/24(金) 12:20:04class Test {
public static void main(String[] arg){
String s1 = "abc";
String s2 = s1; //リテラルオブジェクトを共有
s1 = s1 + 'd'; //このタイミングで新たなオブジェクト1を生成しそのリファレンスをs1に代入
System.out.println("s1=" + s1 + " s2=" + s2);
s2 = s1; //オブジェクト1のリファレンスを共有
System.out.println("s1=" + s1 + " s2=" + s2);
s2 = s2.concat("e"); //s2からオブジェクト1の末尾に'e'を追加
if (s1 == s2)
System.out.println("同じ"); //同じじゃなかった
System.out.println("s1=" + s1 + " s2=" + s2); // s1もabcdeにならないのはなぜ???
}
}
■ このスレッドは過去ログ倉庫に格納されています