一定不要使用==運算符檢測兩個字符串是否相等!這個運算符只能確定兩個字符串是否放置在同一個位置上。當然,如果字符串放置在同一個位置上,它們必然相等。但內容相同的多個字符串完全有可能被拷貝放置在不同的位置上。
如果虛擬機始終將相同的字符串共享,就可以使用==運算符檢測字符串是否相等。但實際上只有字符串常量才是共享的,而通過+號拼接產生或者substring等操作產生的字符串並不是共享的。因此使用==比較字符串是不可靠的,相當於在程序中埋下一顆炸彈,是不是產生令人頭疼的BUG。
可以使用equals()方法檢測兩個字符串是否相等。
stringA.equals(stringB);
"Hello".equals("Hello");
如果想要忽略大小寫的區別,可以使用equalsIgnoreCase()方法。
