public static void main(String[] args) {
List<String> list = Arrays.asList("0B11", "A64", "A021", "A112");
Collections.sort(list, (a, b) -> compareString(a, b));
for (String s : list) {
System.out.println(s);
}
}
public static int compareString(String str1, String str2) {
byte[] bytes1 = str1.getBytes();
byte[] bytes2 = str2.getBytes();
int le2 = bytes2.length;
for (int i = 0; i < bytes1.length; i++) {
if (i > le2) {
return 1;
}
if (bytes1[i] == bytes2[i]) {
continue;
} else {
return bytes1[i] - bytes2[i];
}
}
return 0;
}
运行结果