为了比较平等的字符串,我们应该使用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