deepEquals
今日、ネットサーフィン(死語)してて、面白そうな記事を見つけたのでさっそく試してみました。
ネタもとは英語だったので詳しく理解することはできなかった。
コードの切れ端と読めない英語をながめてみました。
私はこれを見てすぐに自信を持って答えることはできませんでした(><)
まぁ・・・永遠の初心者ですからしかたないです。
けど気になるので下記のようなシンプルなコードを書いて実行してみました。
24行目からの if 文の処理結果はよく知られた結果となることは間違いないでしょう。
29行目からの if 文の処理結果が気になります。
実行結果だけ確認するのもあれなので、NetBeans を使ってるのだからウォッチポイントを設定してデバッグ実行してみました。
変数 a,b,c,d をウォッチポイントとして違いを確認してみました。
変数 c,d は一段階深い所に Object 型の配列の中に Object 型配列の変数が格納され一段階深くなってます。
素人考えでは一段階深くなったところで同じじゃないの?って思ってしまいます。
そこで29行目にブレークポイントを仕掛けてステップ実行させてみました。
下のコードの2392行目で引っかかるようですね。
念のために実行結果はこうなります。
たぶん Java プログラマなら知ってて当然ってことでしょうがこんなこと考えたことがなかったので新鮮でした。
NetBeans の優秀なデバッガをこんなことに使う私って・・・幸せ者だ(^^;