1.整数 小数 Integer float 直接比较基本数据类型大小
2.字符 比较unicode编码之差
3.字符串 :如果其中一个是另外一个的字串返回长度之差,否则返回第一个不相同字符的unicode编码之差
4.java.util.Date 根据日期的长整型数比较
public class test1 { public static void main(String[] args) { String[] arr={"a","abcd","abc","add"}; sort(arr); Date[] arr2=new Date[3]; arr2[0]=new Date(); arr2[1]=new Date(System.currentTimeMillis()-1000*60*60); arr2[2]=new Date(System.currentTimeMillis()+1000*60*60); sort2(arr2); } public static void sort(String[] arr){ int len=arr.length; boolean sorted=true; for(int j=0;j<len-1;j++){ sorted=true; System.out.println("--------------"); for(int i=0;i<len-1-j;i++){ //System.out.print("第"+[i+1]+"次"); if(((Comparable)arr[i]).compareTo(arr[i+1])>0){ String temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; sorted=false; } System.out.println(Arrays.toString(arr)); } if(sorted){ break; } } } public static void sort2(Date[] arr){ int len=arr.length; boolean sorted=true; for(int j=0;j<len-1;j++){ sorted=true; System.out.println("--------------"); for(int i=0;i<len-1-j;i++){ //System.out.print("第"+[i+1]+"次"); if(((Comparable)arr[i]).compareTo(arr[i+1])>0){ Date temp=arr[i]; arr[i]=arr[i+1]; arr[i+1]=temp; sorted=false; } System.out.println(Arrays.toString(arr)); } if(sorted){ break; } } } }