首页 > 代码库 > 黑马程序员-学习日记(泛型限定)
黑马程序员-学习日记(泛型限定)
泛型限定通配符<?>,也可以理解为占位符号? 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()); }}
黑马程序员-学习日记(泛型限定)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。