尝试使用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。
返回一个整数值。如果源小于,则值小于零
比目标,如果源和目标相等,则值为零,值为
如果源大于目标,则大于零。
但是我得到的输出是
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 - java.text.Collator用于字符串比较。,,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18089681/