在java中只能通过基本类型排序,但是,实际开发中,必然涉及到非基本类型的排序,比方说,淘宝对于商品的排序,这些商品是一个一个类 但是无法直接比较大小,java中给予这些类的排序一些方法。
实现comparable接口
comparable接口的方法
将要排序的类进行comparable实现
重写compareTo()方法
重写方法:
public int compareTo(object a,object b){
}
举例:
class goods{
public prise;
public int compareTo(object a){
if(a instanceOf String){//判断a是否为当前对象的子类
goods good = (goods)a; // 如果是则将a向上转型为goods类型,用good接收
//然后比较转型后的类型中的值
if(good.prise>this.prise){
return 1;
}
else if(good.prise<this.prise){
return -1;
}
else return 0;
}
throw new RuntimeException("数据不一致")//如果比较的数据不一致,抛出异常
使用comparator接口:比较器
Arrays.sort(object,比较器)//使用比较器进行排序
具体使用参见我写的<参见TreeSet集合使用>