试图使用排序规则来验证两个字符串对象。
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 -1 -1 1
有些人能帮上忙,如何了解这个验证。,之所以使用排序规则是为了克服unicode对字符串比较的限制。谢谢,
发布于 2013-08-06 20:24:28
输出看起来是正确的,因为由Collator的特定实例生成的排序规则只考虑字母的情况以打破领带。
zoon按字母顺序排列在yow之后,所以返回值应该是1Hello按字母顺序排列在yow之前,因此返回值应该是-1World按字母顺序排列在yow之前,因此返回值应该是-1Yep按字母顺序排列在yow之前,因此返回值应该是-1Yow与yow字母相同,但以大写字母开头,因此返回值应为1。MyData按字母顺序排列在yow之前,因此返回值应该是-1您可以降低排序器的强度,使字符串只有在计算值相同的情况下才会有所不同。
https://stackoverflow.com/questions/18089681
复制相似问题