首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于字符串比较的java.text.Collator。

用于字符串比较的java.text.Collator。
EN

Stack Overflow用户
提问于 2013-08-06 20:19:37
回答 1查看 2K关注 0票数 2

试图使用排序规则来验证两个字符串对象。

代码语言:javascript
复制
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对字符串比较的限制。谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-06 20:24:28

输出看起来是正确的,因为由Collator的特定实例生成的排序规则只考虑字母的情况以打破领带。

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

您可以降低排序器的强度,使字符串只有在计算值相同的情况下才会有所不同。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18089681

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档