博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Set集合中的treeSet问题:cannot be cast to java.lang.Comparable;
阅读量:4312 次
发布时间:2019-06-06

本文共 1683 字,大约阅读时间需要 5 分钟。

 使用TreeSet保存自定义对象时,

必须让定义对象的类实现Comparable接口,并重写compareTo()方法

否则报

实体类User:cannot be cast to java.lang.Comparable异常

public class User implements Comparable
{ private int age; private String name; private String pro; public User(String name,int age,String pro) { this.name = name; this.pro = pro; this.age = age; } @Override public int compareTo(User u) { if(this.age>u.age) { return 1; }else if(this.age==u.age) { return this.name.compareTo(u.name); }else { return -1; } } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPro() { return pro; } public void setPro(String pro) { this.pro = pro; }}

测试类Test

public class test{    public static void main(String[] args) {        // TODO Auto-generated method stub        Set
set = new TreeSet
(); User user = new User("Java", 21,"小仙女"); User user2 = new User("Spring",22,"小跟班"); set.add(user); set.add(user2); System.out.println(set.size()); //遍历方式一// Iterator
it = set.iterator();// while(it.hasNext()) {// User u = it.next(); // System.out.println(u.getName());// } for (User u : set) { System.out.println(u.getName()+","+u.getAge()+","+u.getPro()); } }}

 

转载于:https://www.cnblogs.com/Dandwj/p/9319848.html

你可能感兴趣的文章
课堂练习之买书打折最便宜
查看>>
定义函数
查看>>
网络虚拟化技术(二): TUN/TAP MACVLAN MACVTAP
查看>>
MQTT协议笔记之mqtt.io项目HTTP协议支持
查看>>
(转)jQuery中append(),prepend()与after(),before()的区别
查看>>
Tecplot: Legend和图像中 Dashed/Dash dot/Long dash 等虚线显示没有区别的问题
查看>>
win8 开发之旅(2) --连连看游戏开发 项目错误的总结
查看>>
视频转换工具ffmpeg
查看>>
一、 object c -基础学习第一天 如何定义一个类
查看>>
C#调用C++编译的DLL详解
查看>>
Kali Linux的安装
查看>>
我的大学生活-5-08-赵心宁
查看>>
黑马程序员-Java基础-反射
查看>>
bzoj1708[Usaco2007 Oct]Money奶牛的硬币(背包方案数dp)
查看>>
P2700逐个击破(并查集/树形dp)
查看>>
展望2018
查看>>
python几大排序算法
查看>>
hdu 4619 二分图最大匹配 ——最大独立集
查看>>
VM CentOS 问题汇总
查看>>
这段时间的小结
查看>>