我正在尝试按具有特定语言环境的字段对列表进行排序。如何合并以下语句?

names.stream().sorted(Comparator.comparing(AClass::getName)).collect(Collectors.toList());

Collator coll = Collator.getInstance(new Locale("tr","TR"));
coll.setStrength(Collator.PRIMARY);

最佳答案

Comparator.comparing有一个变体,它带有两个参数。第二个参数是Comparator,因此您可以将Collator实例作为第二个参数传递:

Collator coll = Collator.getInstance(new Locale("tr","TR"));
coll.setStrength(Collator.PRIMARY);
List<AClass> sorted = names.stream()
                           .sorted(Comparator.comparing(AClass::getName,coll))
                           .collect(Collectors.toList());

关于java - Java如何通过具有语言环境的字段对列表进行排序?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48866675/

10-10 01:31