您的位置 首页 java

Java继承中重写toString方法与集合与比较器

一个输入员工信息并显示的练习 由于是练习所以有点长 标题的部分已经放在后面了

Java继承中重写toString方法与集合与比较器

枚举

Java继承中重写toString方法与集合与比较器

父类

Java继承中重写toString方法与集合与比较器

子类

(其实还有个子类 但只是其中私有属性不同)

四种集合框架插入元素几乎没区别 使用 toString 转换成 String 类型

Java继承中重写toString方法与集合与比较器

使用ArrayList

Java继承中重写toString方法与集合与比较器

输出结果

输出格式可以在重写toString方法中更改 也很简单

Java继承中重写toString方法与集合与比较器

继承中重写toString方法

由于是私有属性 所以调用get方法获得属性值

插入枚举属性与重写方法中的枚举属性与输出的枚举属性与 构造方法 中的枚举请忽略 因为还没有搞懂该怎么插入和输出 没有报错 但是肯定不对

比较器 分为内部比较器与外部比较器

内部比较器子类实现Comparable接口 重写compareTo方法

Java继承中重写toString方法与集合与比较器

Java继承中重写toString方法与集合与比较器

Java继承中重写toString方法与集合与比较器

比较器逻辑判断

Java继承中重写toString方法与集合与比较器

输出结果

已经按照id排序了

外部比较器测试类实现Comparator接口 重写compare方法

Java继承中重写toString方法与集合与比较器

其余大抵相同 如果内部比较器与外部比较器同时存在 则使用外部比较器 使用比较器时不会调用equals方法(源码里发现的)

———————————————————

其实其中还有个小插曲

Java继承中重写toString方法与集合与比较器

Java继承中重写toString方法与集合与比较器

子类构造方法调用父类构造方法时忘记传参数了 含泪找了半天错误(忘记还有deBug了)一直以为自己测试类哪里写错了而忽略了构造方法 写的时候有种灵感犹如石油井喷的感觉 着急了些 下次一定注意 不由得苦笑

收获很多 非常开心 希望可以帮助到其他遇到这类问题的人

文章来源:智云一二三科技

文章标题:Java继承中重写toString方法与集合与比较器

文章地址:https://www.zhihuclub.com/199816.shtml

关于作者: 智云科技

热门文章

网站地图