gpt4 book ai didi

java - 当 List 包含非字母数字字符时,什么决定 Collections.sort 中的排序顺序?

转载 作者:行者123 更新时间:2023-12-01 07:36:48 25 4
gpt4 key购买 nike

我有代码根据一个名为“title”(字符串类型)的属性对元素的 ArrayList 进行排序。代码使用 Collat​​or 如下:

Collator( Collator collator = Collator.getInstance(); ).

我有两个标题为“@a”的对象,另一个对象的标题为“#a”

我将这些对象作为列表传递并调用

Collections.sort(list,comparator)

这给出的顺序为

"@a" "#a"

为什么“#a”出现在最后,尽管它的 ASCII 值小于“@a”?

最佳答案

根据您的评论,您正在使用整理器对您的标题进行排序。为什么你在问题中没有这么说,我无法理解。

无论如何,整理器根据区域设置首选项对字符串进行排序。它不按字典顺序排序。您使用的整理器认为正确的顺序就是您观察到的顺序。如果您想要字典顺序,则不应使用整理器。

另请注意,整理器始终与区域设置相关联。 Collat​​or.getInstance() 方法的 javadoc 表示:

Gets the Collator for the current default locale.

关于java - 当 List 包含非字母数字字符时,什么决定 Collections.sort 中的排序顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10912503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com