您可以使用Java的BigInteger类和一个定制的比较器对数组进行排序:
import java.util.Arrays;
import java.math.BigInteger;
import java.util.Comparator;
public class Main {
public static void main(String[] args) {
String[] arr = {
"545434548549387551787458475822",
"7485204875485114857489579847438573954738574359287485284574",
"555434548549387551787458475822"
};
System.out.println("Before sorting:\n" + Arrays.toString(arr));
Arrays.sort(arr, new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return new BigInteger(o1).compareTo(new BigInteger(o2));
}
});
// Alternative lambda custom comparator:
// Arrays.sort(arr, (o1, o2) -> new BigInteger(o1).compareTo(new BigInteger(o2)));
System.out.println("After sorting:\n" + Arrays.toString(arr));
}
}
Output:个
Before sorting:
[545434548549387551787458475822, 7485204875485114857489579847438573954738574359287485284574, 555434548549387551787458475822]
After sorting:
[545434548549387551787458475822, 555434548549387551787458475822, 7485204875485114857489579847438573954738574359287485284574]