标签:style blog ar color sp java on div log
泛型限定 通配符<?>,也可以理解为占位符号 ? extends E:可以接受E类型或者E的子类型 上限 <? extends E> ? super E:可以接受E或E的父类型 下限 <? super E> 上限什么时候用:往集合中添加元素时,既可以添加E类型对象,又可以添加E的子类型对象。为什么?因为取的时候, E类型既可以接收E类对象,又可以接收E的子类型对象。? 下限什么时候用:当从集合中获取元素进行操作的时候,可以用当前元素的类型接收,也可以用当前元素的父类型接收。
import java.util.*; class Gd12 { public static void main(String[] args) { TreeSet<Worker> ts = new TreeSet<Worker>(new comp()); ts.add(new Worker("a")); ts.add(new Worker("b")); ts.add(new Worker("c")); TreeSet<Student> ts1 = new TreeSet<Student>(new comp()); ts1.add(new Student("e")); ts1.add(new Student("d")); ts1.add(new Student("f")); Iterator<Worker> it = ts.iterator(); while(it.hasNext()) { System.out.println(it.next().getName()); } } } class Person { private String name; Person(String name) { this.name = name; } public String getName() { return name; } } class Student extends Person { Student(String name) { super(name); } } class Worker extends Person { Worker(String name) { super(name); } } class comp implements Comparator<Person> { public int compare(Person p1,Person p2) { return p2.getName().compareTo(p1.getName()); } }
标签:style blog ar color sp java on div log
原文地址:http://www.cnblogs.com/tozr/p/4119091.html