3.6.4 检测字符串是否相等

    可以使用 equals 方法检测两个字符串是否相等。对于表达式:
        s.equals(t)
 
    如果字符串 s 与字符串 t 相等,则返回true;否则,返回false。需要注意,s与 t可以是字符串变量,也可以是字符串字面量。例如,下列表达式是合法的:
    "Hello".equals(greeting);
 
    想要检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法。
    "Hello".equalsIgnoreCase("hello")
 
    一定不要使用 == 运算符检测两个字符串是否相等!这个运算符只能够确定两个字符串是否放置在同一个位置上。当然,如果字符串放置在同一个位置上,它们必然相等。但是,完全有可能将内容相同的多个字符串的拷贝放置在不同的位置上。
 
    如果虚拟机始终将相同的字符串共享,就可以使用==运算符检测是否相等。但实际上只有字符串常量是共享的,而+或substring等操作产生的结果并不是共享的。因此,千万不要使用==运算符测试字符串的相等性,以免在程序中出现糟糕的bug。从表面上看,郑重bug很像随机产生的间歇性错误。
原文地址:https://www.cnblogs.com/avention/p/10123686.html