Discuss / Java / 泛型:练习实现Comparable泛型接口,对自定义类的数组进行排序

泛型:练习实现Comparable泛型接口,对自定义类的数组进行排序

Topic source

张卿长

#1 Created at ... [Delete] [Delete and Lock User]
package GenericsDemo;import java.util.Arrays;import java.util.List;import java.util.ArrayList;/** * 泛型接口 * 除了ArrayList<T>使用了泛型,还可以在接口中使用泛型。 * 例如,Arrays.sort(Object[])可以对任意数组进行排序, * 但待排序的元素必须实现Comparable<T>这个泛型接口: */public class GenericsDemo2 {    public static void main(String[] args) {        Person p1=new Person("张",12);        Person p2=new Person("李",14);        Person p3=new Person("王",9);        Person[] ps={p1,p2,p3};        Arrays.sort(ps);        for(Person p:ps){            System.out.println(p.getName()+" "+p.getAge());        }    }}class Person implements Comparable<Person>{    private String name;    private int age;    public Person(){    }    public Person(String name,int age){        this.name=name;        this.age=age;    }    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public int getAge() {        return age;    }    public void setAge(int age) {        this.age = age;    }    @Override    public int compareTo(Person o) {
        //降序         return -this.age+o.getAge();    }}

这里有一个小小的点要注意一下:   class Person implements Comparable<Person> {……} ,这里类在定义的时候implements 后面 Comparable 也要没明确泛型


  • 1

Reply