簡體   English   中英

Java如何按區域設置對列表進行排序?

[英]Java how to sort a List by a field with locale?

我正在嘗試按具有特定語言環境的字段對列表進行排序。 如何組合以下語句?

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());
    List<Model> sortedModelList = unSortedModelList.stream()
    .sorted(Comparator.comparing(Model::getField,Collator.getInstance(new Locale("tr","TR"))))
.collect(Collectors.toList());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM