Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于字符串比较的java.text.Collator。,_Java_String - Fatal编程技术网

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

用于字符串比较的java.text.Collator。,,java,string,Java,String,正在尝试使用collator验证两个字符串对象。以下是代码 String myBubbleStr[] = {"zoon", "Hello", "World", "Yep", "Yow", "MyData"}; public void testCollatorStrings() { Collator collator = Collator.getInstance(); String toCompare = "yow"; for (String

正在尝试使用collator验证两个字符串对象。以下是代码

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 1 -一,


我使用collators的原因是为了克服unicode对字符串比较的限制。谢谢。,

输出看起来是正确的,因为Collator的特定实例生成的排序顺序只考虑了字母的大小写,用于断开连接

zoon按字母顺序在yow之后,因此返回值应为1 Hello按字母顺序在yow之前,因此返回值应为-1 World按字母顺序排在yow之前,因此返回值应为-1 Yep按字母顺序在yow之前,因此返回值应为-1 Yow按字母顺序与Yow相同,但以大写字母开头,因此返回值应为1 MyData按字母顺序在yow之前,因此返回值应为-1
您可以降低collator的强度,使只有大小写不同的字符串计算为相同的字符串。

输出看起来是正确的,因为collator的特定实例生成的排序顺序只考虑字母大小写的大小写,以便于断开连接

zoon按字母顺序在yow之后,因此返回值应为1 Hello按字母顺序在yow之前,因此返回值应为-1 World按字母顺序排在yow之前,因此返回值应为-1 Yep按字母顺序在yow之前,因此返回值应为-1 Yow按字母顺序与Yow相同,但以大写字母开头,因此返回值应为1 MyData按字母顺序在yow之前,因此返回值应为-1
您可以降低collator的强度,使不同的字符串仅在大小写相同的情况下计算。

Yow在比较中返回1而不是-1。但我明白你对zoon的解释Yow@SathishJayapal你说得对,我复制粘贴了相同的字符串,忘记了正确地修改所有内容。您的排序器将小写排序在大写之前。比较中的Yow返回1而不是-1。但我明白你对zoon的解释Yow@SathishJayapal你说得对,我复制粘贴了相同的字符串,忘记了正确地修改所有内容。你的拼贴器将小写字母排在大写字母之前。这在很大程度上取决于区域设置、强度和分解。有关一些API示例,请参见。在自然语言的情况下,排序顺序并不简单。在一些基于拉丁语的字母表中,Z可能位于A之前。如果对名称进行排序,可能会应用各种奇怪的规则。这在很大程度上取决于区域设置、强度和分解。有关一些API示例,请参见。在自然语言的情况下,排序顺序并不简单。在一些基于拉丁语的字母表中,Z可能位于A之前。如果对名称进行排序,可能会应用各种奇怪的规则。