请查看我尝试实现整理器以对带有“标题”字段的对象进行排序的方法。 方法:
ggplot(df, aes(x, y)) +
geom_point(aes(colour = z2))+
scale_colour_gradientn(colours = c('springgreen1', 'springgreen4', 'yellowgreen','yellow2',
'lightsalmon','orange','orange3','orange4','navajowhite3','white'),
breaks=c(0,1,2,3,4,5,6,7,8,9),
limits = c(0,9)) +
theme(legend.key.height = unit(1.5, "cm"))
它排序,但不正确。字母“ i”放在开头。 怎么了?
答案 0 :(得分:2)
我认为您应该使用super__<method>()
查看有关Internationalization的网站
编辑:
我认为问题在于乌克兰字母的表示方式。
https://en.wikipedia.org/wiki/Ukrainian_alphabet#Unicode
根据Wikipedia,考虑到Unicode,“ i”是最后一个字母。因此,也许您按降序而不是升序排序?
答案 1 :(得分:1)
正确的代码:
public List<SchoolSubject> findAllByOrderByTitle() {
List<SchoolSubject> schoolSubjects = subjectRepository.findAllByOrderByTitle();
Collator uaCollator = Collator.getInstance(new Locale("uk", "UA"));
uaCollator.setStrength(Collator.PRIMARY);
schoolSubjects.sort((s1, s2)->uaCollator.compare(s1.getTitle(), s2.getTitle()));
return schoolSubjects;
}
使用新的Locale(“ uk”,“ UA”)修复,从lambda中排除了stream()并正确排序。