美文网首页
Collections.sort()报错

Collections.sort()报错

作者: TheBestTheLost | 来源:发表于2019-11-05 16:25 被阅读0次

    package javatest;

    import java.util.ArrayList;
    import java.util.Collection;
    import java.util.Collections;
    import java.util.List;

    import org.omg.CORBA.PUBLIC_MEMBER;

    public class Collections_Demo {

    public static void main(String[] args) {
        List<Person> c1=new ArrayList<Person>();
        c1.add(new Person("qianyu", "ma"));
        c1.add(new Person("liang", "ma"));
        c1.add(new Person("jing", "sun"));
        }
        System.out.println(c1);
        Collections.sort(c1);  //报错:The method sort(List<T>) in the type Collections is not applicable for the arguments (List<Person>)
    }
    

    }
    class Person implements Comparable<Person> { //实现Comparable接口
    private String firstName;
    private String lastName;

    public String getFirstName() {
        return firstName;
    }
    
    public String getLastName() {
        return lastName;
    }
    
    public Person(String lastName, String firstName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }
    
    public String toString() {
        return firstName + "" + lastName;
    
    }
    
    public int compareTo(Person p) {  //重写compareTo()方法
        int lastCam = lastName.compareTo(p.getLastName());
        return (lastCam != 0 ? lastCam : firstName.compareTo(p.getFirstName()));
    }
    
    • 原因:Person类未实现Comparable接口
    • 解决办法:让Person类实现Comparable接口并重写compareTo()方法
      class Person implements Comparable{
      public int compareTo(c1){};
      }

    相关文章

      网友评论

          本文标题:Collections.sort()报错

          本文链接:https://www.haomeiwen.com/subject/zoqsbctx.html