美文网首页
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