java.text.Collat​​or for String comparison。,

时间:2013-08-06 20:19:38

标签: java string

尝试使用Collat​​ors验证一对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。 根据{{​​3}}。

  

返回一个整数值。如果来源较少,则值小于零   如果源和目标相等,则值为目标,值为零   如果source大于target,则大于零。

但我得到的输出是

  

1    -1    -1    -1 1   -1

可以获得帮助,如何获得此验证。使用collat​​ors的原因是为了比较字符串比较的unicode限制。感谢。,

1 个答案:

答案 0 :(得分:4)

输出看起来是正确的,因为Collator的特定实例产生的整理顺序只考虑打破这个字母的情况。

  • zoon按字母顺序排在yow之后,因此返回值应为1
  • Hello按字母顺序排在yow之前,因此返回值应为-1
  • World按字母顺序排在yow之前,因此返回值应为-1
  • Yep按字母顺序排在yow之前,因此返回值应为-1
  • Yow按字母顺序与yow相同,但以大写字母开头,因此返回值应为1
  • MyData按字母顺序排在yow之前,因此返回值应为-1

你可以降低整理者的力量,使得只有在评估相同的情况下才能使用不同的字符串。