泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间
2015-11-21 14:54
447 查看
/* 定义比较器的时候可以定义父类的比较器,这样其子类对象都可以调用,避免了要根据不同的对象定义不同的比较器。 */ import java.util.Comparator; import java.util.Iterator; import java.util.TreeSet; class compare implements Comparator<Person2>{ public int compare(Person2 t1, Person2 t2) { // TODO 自动生成的方法存根 return t1.getName().compareTo(t2.getName()); } } public class GenericDemo2 { public static void main(String[] args) { TreeSet<Student3> ts=new TreeSet<Student3>(new compare()); ts.add(new Student3("abc001")); ts.add(new Student3("abc003")); ts.add(new Student3("abc002")); ts.add(new Student3("abc004")); Iterator<Student3> it=ts.iterator(); while(it.hasNext()) { System.out.println(it.next().getName()); } TreeSet<Worker> wk=new TreeSet<Worker>(new compare()); wk.add(new Worker("w---abc001")); wk.add(new Worker("w---abc006")); wk.add(new Worker("w---abc004")); wk.add(new Worker("w---abc003")); wk.add(new Worker("w---abc005")); Iterator<Worker> it1=wk.iterator(); while(it1.hasNext()){ System.out.println(it1.next().getName()); } } } class Person2{ private String name; Person2(String name){ this.name=name; } public String getName(){ return name; } } class Student3 extends Person2{ Student3(String name){ super(name); } } class Worker extends Person2{ Worker(String name){ super(name); } }
结果:
相关文章推荐
- python学习笔记(7)
- github文件上传及github pages博客搭建教程
- python模块之HTMLParser抓页面上的所有URL链接
- c#绘制曲线图遇到的问题
- php 严格控制session的过期时间
- django 报错问题集锦
- webStorm中的混乱代码格式化
- C++控制台循环链表实现贪吃蛇
- Java对称加密算法DES[以及其他对称加密算法]
- SSH开发使用BaseAction<T>做为所有Action抽象父类。这段代码啥意思?
- delphi下的office编辑
- Windows2008R2下thinkphp3.2.3连接sql server 2014
- python 中range函数
- 【C++】判断顺序栈出栈顺序的合法性
- baseaction一般功能有什么
- Company Brief Intro - Tango
- qt5
- 脚本之家的好网址: 首页 >> 软件编程 >> C 语言
- java 文件传输 分块传输
- C++ 学习(继承和动态内存分配)