在Java中如何比较字符串

为了比较平等的字符串,我们应该使用String对象的等于或者EqualsignorEcase方法。

例如,以下代码段将确定字符串的两个实例是否与所有字符相等:

String firstString = "Test123";
String secondString = "Test" + 123;
if (firstString.equals(secondString)) {
//两个字符串的内容相同。
}

请注意,EqualsignOrecase不会让我们指定语言环境。
例如,如果你在英语中比较“Taki”和“TAKI”,它们是相等的;然而,在土耳其语中,它们是不同的(在土耳其语中,小写I是ı)。
为了处理这样的情况,将字符串与小写(或者大写)转换为语言环境,然后再比较是解决方案。

String firstString = "Taki";
String secondString = "TAKI";
System.out.println(firstString.equalsIgnoreCase(secondString));                            //prints true
Locale locale = Locale.forLanguageTag("tr-TR");
System.out.println(firstString.toLowerCase(locale).equals(
      secondString.toLowerCase(locale))); //prints false

不要使用==运算符进行比较字符串

不应使用==或者!=运算符来比较字符串。这些操作符实际上测试引用,由于多个String对象可以表示同一个字符串,因此很可能给出错误的答案。
相反,请使用String.equals(Object)方法,该方法将根据字符串对象的值来比较它们。

日期:2020-06-02 22:15:18 来源:oir作者:oir