问题
Exception in thread “main” java.lang.ClassCastException: com.chenhao.demo.entry.Dog cannot be cast to java.lang.Comparable
public static void main(String[] args) {
Dog dog=new Dog(1,"小花");
// List<Dog> list=new ArrayList();
Set<Dog> list=new TreeSet();
list.add(new Dog(1,"小花"));
list.add(new Dog(2,"小花"));
list.add(new Dog(3,"小花"));
list.add(new Dog(4,"小花"));
System.out.println(list);
}
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Dog {
private int id;
private String name;
@Override
public String toString() {
return "Dog{" +
"id=" + id +
", name='" + name + '\'' +
'}';
}
}
解决办法
只需要在实体类实现Comparable接口重写他的方法,就可以解决