gpt4 book ai didi

java - 影响比较方法中数字和字符的顺序

转载 作者:行者123 更新时间:2023-12-02 04:33:11 25 4
gpt4 key购买 nike

我有一个 Wicket Web 应用程序,它按以下顺序对表行进行排序:

升序:

  • 第一个字符(A-Z)
  • 然后是数字 (1-9)

现在我正在编写一个 webunit 测试来测试排序机制,但它似乎会切换字符和数字的顺序,例如:

升序:

  • 前几个数字 (1-9)
  • 然后是字符 (A-Z)

因此,当升序排序并且遇到两个条目时,此代码将失败:

  • ...
  • ZZZ
  • 111
  • ...

我的简化排序代码:

protected int compare(String val1, String val2) {
return val1.compareTo(val2);
}

告诉我的测试代码测试像我的 Web 应用程序生成的订单一样的“java 方式”是什么?可能类似于Collat​​or?我更喜欢 JRE 解决方案,而不是自写的 Comparator 和第三方库。

最佳答案

您可以尝试使用RuleBasedCollator像这样:

String rule = "<a,A<b,B<c,C<[...]<'1'<'2'<'3'<'4'[...]";
RuleBasedCollator collator = new RuleBasedCollator(rule);
return collator.compare(val1,val2);

关于java - 影响比较方法中数字和字符的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31178110/

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