字符串比较

比较两个字符串忽略大小写:

"School".equalsIgnoreCase("school"); // true

不要用

text1.toLowerCase().equals(text2.toLowerCase());

语言对转换大写和小写有不同的规则。 ‘I’将用英语转换为’i’。但在土耳其语中,变成了’ı’。如果你必须使用 toLowerCase() 使用期望 LocaleString.toLowerCase(Locale) 的重载。

比较两个字符串忽略微小差异:

Collator collator = Collator.getInstance(Locale.GERMAN);
collator.setStrength(Collator.PRIMARY);
collator.equals("Gärten", "gaerten"); // returns true

对字符串进行排序,遵循自然语言顺序,忽略大小写(使用排序键:

String[] texts = new String[] {"Birne", "äther", "Apfel"};
Collator collator = Collator.getInstance(Locale.GERMAN);
collator.setStrength(Collator.SECONDARY); // ignore case
Arrays.sort(texts, collator::compare); // will return {"Apfel", "äther", "Birne"}