菜鸟刚学,大神求解。。。。

package cn.study.wrapperClass;

import java.util.Arrays;

public class TestWrapper {
public static void main(String[] args) {

    String a = "34 9 -7 67 25";
    String [] b = a.split(" ");
    Arrays.sort(b);
    System.out.println(Arrays.toString(b));

}

}
为什么9没排序呢

 public static void main(String[] args){
    String a = "34 9 -7 67 25";
    String [] b = a.split(" ");
    int[] k=new int[b.length];
    for(int i=0;i<b.length;i++){
        k[i] = Integer.valueOf(b[i]);
    }
    Arrays.sort(k);//设置按整型排序了
    System.out.println(Arrays.toString(k));
}

数组是字符串型的,是按字符排序

不是没有排序,而是根据字符串的排序规则,9在最后面
你可以自己写一个比较器传进去:

 package test;

import java.util.Arrays;
import java.util.Comparator;

public class Arraysort {
    public static void main(String[] args) {
        String s = "34,9,-7,67,25";
        String[] strArr = s.split(",");
        Arrays.sort(strArr, new com());
        for(String str : strArr){
            System.out.print(str+",");
        }
    }
}

class com<T> implements Comparator<T> {
    public int compare(T o1, T o2) {
        int i = Integer.parseInt(String.valueOf(o1));
        int j = Integer.parseInt(String.valueOf(o2));
        if (i > j) return 1;
        if (i < j) return -1;
        return 0;
    }
}

真的帮不了你........