字符串比较
比较两个字符串忽略大小写:
"School".equalsIgnoreCase("school"); // true
不要用
text1.toLowerCase().equals(text2.toLowerCase());
语言对转换大写和小写有不同的规则。 ‘I’将用英语转换为’i’。但在土耳其语中,我变成了’ı’。如果你必须使用 toLowerCase()
使用期望 Locale
:String.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"}