java的compareTo函數(shù)?
compareTo就是比較兩個(gè)值,如果前者大于后者,返回1,等于返回0,小于返回-1。
下面給出了例子,由于比較的變量用的是int,int型可以直接比較,所有沒有用到compareTo比較,如果聲明的是Date、String、Integer或者其他的,可以直接使用compareTo比較,
public int compareTo(TestModel1 o) {return this.str1.compareTo(o.str1);}
compareTo方法內(nèi)必須做非空判斷(規(guī)范問題),當(dāng)然int類型就不用了。
注意事項(xiàng):
1、模型必須實(shí)現(xiàn)Comparable<T>接口
2、Collections.sort(list);會(huì)自動(dòng)調(diào)用compareTo,如果沒有這句,list是不會(huì)排序的,也不會(huì)調(diào)用compareTo方法。
3、如果是數(shù)組則用的是Arrays.sort(a)方法。