泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间

原创 2015年11月21日 14:54:31
/*
 定义比较器的时候可以定义父类的比较器,这样其子类对象都可以调用,避免了要根据不同的对象定义不同的比较器。
 */
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);
	}
}


结果:


版权声明:本文为博主原创文章,如需转载请注明出处。

父类如何获取子类传递的泛型

package com.reflect.other;import java.io.Serializable;/** * 简单pojo类(测试用,无具体意义) * * @author edgew...
  • weixin_38756990
  • weixin_38756990
  • 2017年06月05日 22:01
  • 927

Java 中 泛型的限定

泛型 一般 出现在集合中,迭代器中 也会出现!      泛型 是为了 提高代码的 安全性。 泛型 确保数据类型的唯一性。 在我们常用的容器中,  越是 单一 约好处理啊!     ...
  • love_Javc_you
  • love_Javc_you
  • 2014年07月30日 20:41
  • 7654

泛型类定义和泛型方法以及泛型限定

泛型类定义的泛型,在整个类中有效。如果被方法使用,那么泛型类的对象明确要操作的具体类型后,所有要操作的类型就已经固定了。 为了让不同方法可以操作不同类型,而且类型还不确定。那么可以将泛型定义在方法上...
  • u010834071
  • u010834071
  • 2014年07月20日 17:23
  • 1475

Java泛型解析(02):通配符限定

1.泛型参数的限定,使用extends关键字,限定多个类型时用"&"隔开。如: 2.泛型参数限定中,如果限定的类型是class而不是interface,则class必须放在限定类表中的第一...
  • ysjian_pingcx
  • ysjian_pingcx
  • 2014年10月13日 09:42
  • 2450

泛型——从泛型类派生子类时注意的小问题

泛型接口: package org.lgy.study.generic; /* javac -d classes "src/org/lgy/study/generic/Fruit.java" ...
  • guoying252166655
  • guoying252166655
  • 2014年10月10日 13:07
  • 2555

Java之方法的重写、重载、泛型

1.方法重载:发生在编译时。方法的重载也被称为编译时多态,因为编译器可以根据参数的类型来选择使用哪个方法。 public class{ public static vo...
  • ZhiChu_2025
  • ZhiChu_2025
  • 2016年10月03日 15:15
  • 645

子类继承父类,父类中的构造器

子类继承父类时,父类中必需有无参构造器,子类才可以继承父类? 可是父类中只有有参构造器时,就不能实现子类继承父类了吗?...
  • u014800380
  • u014800380
  • 2016年11月03日 12:06
  • 646

Java泛型 类型变量的限定

有时候,类和方法需要对类型变量加以约束,比如你有一个方法,你只希望它接收某个特定类型及其子类型作为参数。 下面就举一个方法限定接收参数的类型的例子来说明如何限定类型变量。 首先有几个简单的辅助类: p...
  • l294265421
  • l294265421
  • 2015年06月08日 15:43
  • 2348

JAVA之旅(二十一)——泛型的概述以及使用,泛型类,泛型方法,静态泛型方法,泛型接口,泛型限定,通配符

JAVA(二十一)——泛型的概述 不知不觉JAVA之旅已经写到21篇了,不得不感叹当初自己坚持要重学一遍JAVA的信念,中途也算是非常的痛苦吧,不过熬到现在,已经算是有点效果了,继续加油,估计三十...
  • qq_26787115
  • qq_26787115
  • 2016年06月26日 13:05
  • 3383

List中使用继承关系泛型 实战

List 用泛型 传递 继承对象关系 方法
  • myhc2014
  • myhc2014
  • 2015年09月19日 13:45
  • 1069
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:泛型限定二---用父类定义比较器,用于子类,减少代码,节约空间
举报原因:
原因补充:

(最多只允许输入30个字)