我创建了一个Java程序来比较两个字符串:
String s1 = "Hello";
String s2 = "hello";
if (s1.equals(s2)) {
System.out.println("hai");
} else {
System.out.println("welcome");
}
它显示“欢迎”。我了解它区分大小写。但是我的问题是我想比较两个不区分大小写的字符串。即我希望输出是hai
。
s1.equalsIgnoreCase(s2)
它,可能会在需要完成的所有地方都做不到。我建议您找到字符串的来源(可能是文件,数据库或用户输入),然后将其转换为大写(或小写)并继续使用.equals进行比较。
equalsIgnoreCase
方法。阅读土耳其文I问题和类似的Unicode问题以了解基本原理。
equalsIgnoreCase
无论如何都会为土耳其语返回错误的值,因为即使比较“ i”和“ I”,它也会返回true,尽管它应该返回false。因此,我怀疑如果要考虑区域设置,Collator
则实际上是一种方法。
toLowerCase
/ toUpperCase
并按字符执行操作也会产生两个不同的结果。