java - Collator - Android 和 Windows 中针对相同美国语言环境的不同排序规则
问题描述
如果我在 Eclipse / Windows 中运行代码,我会得到与在 Android 中运行代码不同的结果。
将 jar 库导入 Android 项目后,Collator 为我提供了破折号和正斜杠字符的不同结果。
我期待类似的行为。
有人可以解释一下吗?
package java.text;
Collator myCollator = Collator.getInstance(Locale.US);
结果:
myCollator.compare(" ", "-")
在 Windows 中:-1 在 Android 中:1
myCollator.compare("/", ".")
在 Windows 中:-1 在 Android 中:1
Windows 结果似乎根据此表正确排序:
但Android中的结果不是。
解决方案
显然,Android 环境和 Windows Java SDK 的整理器存在差异。
推荐阅读
- mysql - 如何实现“SHOW COLUMN FROM (SELECT Result) WHERE Column_name = 'column_name'”?
- mysql - 我想将函数的 NOT NULL 字符串结果与表中可以为 NULL 的字段结合起来
- rust - 如何处理 HashMap 中的每个值并选择性地拒绝一些值?
- javascript - 如何在单击第二个日期选择器时获取两个日期选择器之间的日期差异?
- swift - Swift 组合链错误中的 Swift `Failure` 关键字含义
- android - 是否需要处置 SingleObserver?如果有,在哪里?
- garbage-collection - 我们可以使用 G1GC 垃圾收集器来获得更小的堆大小吗
- java - 谷歌地图在获取附近地点时产生空指针异常
- c# - 在 ASP.NET Core 3.1 中使用 Newtonsoft.JSON 的自定义 JsonConverter 属性不适用于 Json.Serialize()
- django - 如何在 Django 中修复此操作错误?