Java Collator以法语对字符串排序不正确
我一直在尝试用法语对文本进行排序,但遇到了一些问题 JavaJava 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
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”进行比较,这似乎已经有一段时间了。