0

我想在 Java 中复制以下简单方法:

string[] a = {"u1=1","u2=2","u11=3"};
Array.Sort(a);
Console.WriteLine(String.Join(" ", a));

输出:

u1=1 u11=3 u2=2

天真的 Java 翻译使用了另一个字符串比较:

String[] a = {"u1=1", "u2=2", "u11=3"};
Arrays.sort(a);
System.out.println(Arrays.toString(a));

输出:

[u11=3,u1=1,u2=2]

我意识到 .NETString.Compare()方法取决于机器上的本地化设置,但是如何使用 Java 在标准英语语言环境中重现 .NET 排序?

4

1 回答 1

3

这应该有效:

String[] a = {"u1=1", "u2=2", "u11=3"};
Arrays.sort(a, Collator.getInstance(Locale.ENGLISH));
System.out.println(Arrays.toString(a));

输出:

[u1=1, u11=3, u2=2]

于 2013-07-14T19:09:44.380 回答