タグ

ブックマーク / shogo4405.hatenadiary.com (1)

  • 技術って習ったことがすべてではないんだなぁ。 - Thousand Years

    僕はJavaで文字列の比較をするときは、String#equals()を使って比較するしなさいって習った。先生の説明に(文系の大学だけどなぜかJavaの講義があった)にも納得してString#equals()を使い続けてた。 Stringはプリミティブ値じゃなくてオブジェクトになるので==を利用すると、その文字の比較ではなくて同一参照か否かを確認するから結果はfalseになっちゃうよという説明。中途半端に知っていたのでその説明には納得。でも違った。 class Test { public static void main(String args[]) { String str1 = "Hello"; String str2 = "Hello"; if(str1 == str2){ System.out.println("実行されちゃう><。"); } String str3 = new S

    技術って習ったことがすべてではないんだなぁ。 - Thousand Years
    p_chopin
    p_chopin 2007/07/13
    String#equals()のコード見ると、全ては分かるかと。equalsはchar[]を一文字づつ比較。
  • 1