1、Comparable接口的介绍(一般涉及到比较都用这个接口,别自己定义方法)
Comparable接口中定义了compareTo方法,用于比较对象。(cpp中一般是重载>)
接口定义如下:
public interface Comparable< E>{
public int compareTo(E o);
}
2、定义一个Student类并实现接口
class Student implements Comparable<E>{
private int score;
private String name;
public Student(int score,String name){
this.score=score;
this.name=name;
}
//@override
public int compareTo(Student o){
if(this.score==o.score){
return 0;
}
else if(this.score>o.score){
return 1;
}
else{
return -1;
}
}
}
3、编写泛型的sort函数
可以为静态方法定义定义泛型类型,普通方法不可以。一般定义成public,只给自己用也可以定义成private。定义格式如下:
public static <E> 返回类型 函数名(参数)
因为sort函数只能对实现了Comparable的对象进行排序,所以它的泛型必须是受限的。受限写法:
<E extends ....>
注意一定要用extends,即使受限于接口也要用extends
public static <E extends Comparable<E>> void sort(E[] list){
*******************************
}
`