尝试使用 Collators 来验证几个 String 对象。,这是代码。,
String myBubbleStr[] = {"zoon", "Hello", "World", "Yep", "Yow", "MyData"};
public void testCollatorStrings() {
Collator collator = Collator.getInstance();
String toCompare = "yow";
for (String collatorCompare : myBubbleStr) {
System.out.println(collator.compare(collatorCompare, toCompare));
}
}
我对输出的期望是-1,-1,-1,-1,1,-1。 根据documentation 。
Returns an integer value. Value is less than zero if source is less than target, value is zero if source and target are equal, value is greater than zero if source is greater than target.
但是我得到的输出是
1 -1 -1 -1 1 -1
有人可以帮忙吗,如何进行此验证。,使用排序器的原因是为了克服字符串比较的 unicode 限制。谢谢。,
最佳答案
输出看起来正确,因为由 Collator
的特定实例生成的排序规则仅考虑字母的大小写来打破平局。
zoon
按字母顺序位于yow
之后,因此返回值应为1
Hello
按字母顺序位于yow
之前,因此返回值应为-1
World
按字母顺序位于yow
之前,因此返回值应为-1
Yep
按字母顺序位于yow
之前,因此返回值应为-1
Yow
与按字母顺序排列的yow
相同,但以大写字母开头,因此返回值应为1
MyData
按字母顺序位于yow
之前,因此返回值应为-1
您可以降低整理器的强度,以使仅在大小写不同的情况下评估为相同的字符串。
关于java.text.Collator 用于字符串比较。,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18089681/