@Override
public int compare(String a, String b) {
// 返回正数表示要交换,正常为b+a,即大的放前
// 由小到大排序(前者减去后者)
// 由大到小排序(后者减去前者)
String r1=a+b;
String r2=b+a;
return r2.compareTo(r1);
}
}
/**
* 1. 获取整形数组的每个值,将其转化为String类型数组中
* 2. 数组两两排列进行比较,得到最好的数组排序
* 3。定义一个String类型字符串,数组拼接为字符串
*/
public static String largeNumber(int[] num){
String[] sArray=new String[num.length];
for(int i=0;i<num.length;i++){
sArray[i]=String.valueOf(num[i]);
}
Arrays.sort(sArray,new LargerString() );
if(sArray[0].equals("0")){
return "0";
}
String largeString="";
for(int i=0;i<sArray.length;i++){
largeString+=sArray[i];
}
return largeString;
}
}