除了转换为UTF-8字节,或编写迭代和比较的比较函数之外,JDK 1.6中是否存在一些方法,它以完全Unicode代码点顺序而不是UCS-2代码点比较两个字符串购买?
我很欣赏这不是一件很难的代码。然而,我感到困惑的是1.6在java.lang.String
以及Collation系统中有各种“codepoint”API,但显然没有什么可以简单地比较两个字符串而不会在代理上打嗝。
为了评论者的利益,我必须将一些数据提供给需要按此顺序排列的字符串的工具。
答案 0 :(得分:1)
AFAIk,API没有这样的方法,但是自己实现它应该是微不足道的。只是出于好奇:你需要什么样的东西?
答案 1 :(得分:0)
为了完整起见,她解决了这个问题。也许有更好的解决方案:
String sortedText = text
.codePoints()
.sorted()
.mapToObj(i -> String.valueOf(Character.toChars(i)))
.collect(Collectors.joining(""));