さっそくいってみよう
結論だけ知りたい方は変数AとBを比較してみましょうにとんでください
まず初めに、参照型の代表であるStringの変数を宣言してみましょう。
String A = "あいうえお";
この時何が起きているかというと、
Aロッカーに "あいうえお" という文字列が格納された。と考えてください。
(文字列だとわかりにくい場合は、サッカーボールでもカバンでもなんでも構いません。
わかりやすいものでイメージしてみてください。)
そしてそのAロッカーを開けるための鍵が、変数Aになります。
この図を見てわかる通り、変数Aに直接 "あいうえお" が入っているわけではありません。
変数Aにはロッカー番号が入っているため、参照型と呼ばれるわけですね。
それではここで、もう一つ変数を宣言してみましょう。
String B = "あいうえお";
Bロッカーとその鍵が増えました。中身は "あいうえお" です。
変数AとBを比較してみましょう
String A = "あいうえお";
String B = "あいうえお";
System.out.println(A == B); /* False */
System.out.println(A.equals(B)); /* True */
「==」の場合
「==」ではロッカー番号を比較するため、結果はfalseになります。
「.equals」の場合
「.equals」ではロッカーの中身を比較するため、結果はTrueになります。
以上、今日はこの辺でおしまいです。
代入についても、動きが理解できると面白いので次回書いてみようと思います。