思い違い

Stringの比較は==で出来るようになったとばかり思ってたんだけど...


http://msugai.fc2web.com/java/class/String.html


よくわかんないから

class StringCompare {
    public static void main(String args[]) {
        String str1 = "Hello";
        String str2 = "Hello";
        System.out.println("args[0]=[" + args[0] + "] " + (args[0] == args[1]) + " args[1]=[" + args[1] + "]");
        System.out.println("str1[" + str1 + "] " + (str1 == str2) + " str2[" + str2 + "]");
        System.out.println("str1[" + str1 + "] " + (str1 == args[0]) + " args[0][" + args[0] + "]");
        System.out.println("str2[" + str2 + "] " + (str2 == args[1]) + " args[1][" + args[1] + "]");
    }

}


うごかしてみると

> java StringCompare Hello Hello
args[0]=[Hello] false args[1]=[Hello]
str1[Hello] true str2[Hello]
str1[Hello] false args[0][Hello]
str2[Hello] false args[1][Hello]


ん〜...いや、なんでおいらがそんな思い違いをしたのかがわからんのだ ゚+.(・ω・)゚+.゚