在Java中可以使用 equals() 方法判断两个字符串是否相等。
s.equals(t)
如果字符串s与字符串t相等,则返回true;否则,返回false。
想要检测两个字符串是否相等,而不区分大小写,可以使用equalsIgnoreCase方法
"HELLO".equalsIgnoreCase("hello")
一定不要使用 "=="运算符检测,因为这个检测符只能确定两个字符串是否放在同一个位置。当然,如果字符串放置在同一个位置上,他们必然相等,但是有可能将内容相同的多个字符串拷贝放置在不同的位置。
String s = "hello"; if (s == "hello"){ //true System.out.println("放置在同一位置111,相等"); }
if (s.substring(0,3) == "hel"){ //false System.out.println("放置在同一位置222,相等"); }
如果虚拟机始终将相同的字符串共享,就可以使用 "=="运算符检测是否相等。但实际上只有字符串常量是共享的,而 + 或者substring等操作产生的结果并不是共享的。