Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.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 Collator以法语对字符串排序不正确_Java_Sorting_Internationalization_Locale_Collator - Fatal编程技术网

Java Collator以法语对字符串排序不正确

Java Collator以法语对字符串排序不正确,java,sorting,internationalization,locale,collator,Java,Sorting,Internationalization,Locale,Collator,我一直在尝试用法语对文本进行排序,但遇到了一些问题 JavaCollator类似乎对某些字符串的顺序不正确 请说明为什么会发生这种情况 import java.util.List; import java.util.stream.Stream; import java.util.stream.Collectors; import java.text.Collator; import java.util.Locale; public class HelloWorld{ public

我一直在尝试用法语对文本进行排序,但遇到了一些问题

Java
Collator
类似乎对某些字符串的顺序不正确

请说明为什么会发生这种情况

import java.util.List;
import java.util.stream.Stream;
import java.util.stream.Collectors;
import java.text.Collator;
import java.util.Locale;

public class HelloWorld{

     public static void main(String []args){
        String s1 = "un f";
        String s2 = "une b";
        Collator c = Collator.getInstance(Locale.FRANCE);
        List<String> arr1 = Stream.of(s1, s2).sorted(c).collect(Collectors.toList());
        System.out.println(arr1);
        // outputs  [une b, un f]
        // expected [un f, une b]
     }
}
import java.util.List;
导入java.util.stream.stream;
导入java.util.stream.collector;
导入java.text.Collator;
导入java.util.Locale;
公共类HelloWorld{
公共静态void main(字符串[]args){
字符串s1=“un f”;
字符串s2=“une b”;
Collator c=Collator.getInstance(Locale.FRANCE);
List arr1=Stream.of(s1,s2).sorted(c).collect(Collectors.toList());
系统输出打印LN(arr1);
//产出[联合国预算外,联合国预算外]
//预期[联合国f,联合国b]
}
}

输出是什么?尽管我同意我希望
unf
une b
之前(在“e”之前加空格)。Collator忽略空格。所以你把“unf”和“une”进行比较,这似乎已经有一段时间了。