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;
}
}
真的帮不了你........