//举例:“3”<"31" 可是“331”>"313",因此将两者拼接起来进行比较 public String PrintMinNumber(int[] numbers){ if(numbers == null || numbers.length == 0) return null; int len = numbers.length; String[] str = new String[len]; StringBuilder sb = new StringBuilder(); for(int i = 0;i < len ; i++){ str[i] = String.valueOf(numbers[i]); } Arrays.sort(str,new Comparator<String>(){ @Override public int compare(String s1,String s2){ String c1 = s1+s2; String c2 = s2+s1; return c1.comparaTo(c2); } }); for(int i= 0;i < len;i++){ sb.append(str[i]); } return sb.toString(); }