我一直在阅读使用Collator和String中的compareTo方法来比较字符串。我不确定两者在阅读API方面的真正区别。什么时候比另一个更喜欢?
答案 0 :(得分:6)
基本上,区域设置敏感意味着它考虑了所使用的语言,并且可以使用不同的权重来进行不同字符之间的比较。
“例如,在捷克语中,”e“和”f“被视为主要差异, 而“e”和“ě”是次要差异,“e”和“E”是第三种 差异和“e”和“e”是相同的。“1
使用compareTo的字典比较,它只使用它们的Unicode值而不是考虑这些不同的权重。
“为了比较Strings一次,比较方法提供了 最棒的表演。然而,当排序字符串列表时,它是 通常需要多次比较每个String。在这 case,CollationKeys提供更好的性能。 CollationKey类 将String转换为可以按位比较的一系列位 对抗其他CollationKeys。 CollationKey由Collator创建 给定String的对象。 “1
答案 1 :(得分:2)
从我的评论中推广(哪一半回答了问题):
使用collator:假设您有一个拥有国际位置的公司的联系人经理。假设您有一个带前缀匹配的自动完成功能。整理者可以允许您的美国员工在名称中找到重音元音的匹配,而无需键入重音符号。
使用compareTo:当你不关心我刚刚给出的情况时。