码迷,mamicode.com
首页 > 其他好文 > 详细

黑马程序员-学习日记(泛型限定)

时间:2014-11-24 18:53:54      阅读:160      评论:0      收藏:0      [点我收藏+]

标签: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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!