首页 > 编程语言 > 详细

Java 泛型约束

时间:2016-12-30 15:19:44      阅读:236      评论:0      收藏:0      [点我收藏+]

类型约束:

import java.util.List;
import java.util.ArrayList;
import java.util.LinkedList;

/**
 * Created by Administrator on 2016/12/30 0030.
 */
public class ListGenericFoo<T extends List>
{
    private T[] fooArray;

    public T[] getFooArray()
    {
        return fooArray;
    }

    public void setFooArray(T[] fooArray)
    {
        this.fooArray = fooArray;
    }

    public static void main(String[] args)
    {
        ListGenericFoo<LinkedList> foo1 = new ListGenericFoo<LinkedList>();
        ListGenericFoo<ArrayList> foo2 = new ListGenericFoo<ArrayList>();

        LinkedList[] linkedLists = new LinkedList[10];
        foo1.setFooArray(linkedLists);

        ArrayList[] arrayLists = new ArrayList[10];
        foo2.setFooArray(arrayLists);

    }
}

继承接口或者类,都用extends关键字

限制类型

  ArrayList<? extends List> list=null;
         list=new ArrayList<LinkedList>();
         list=new ArrayList<ArrayList>();

ArrayList中的泛型必须继承是List(当然这里List是接口,不可能,但是类型可以)或者List的子类

    ArrayList<? super ArrayList> list=null;
         list=new ArrayList<Object>();
         list=new ArrayList<ArrayList>();

使用super关键字,泛型必须是继承的类型的自己或者其父类。

 

http://www.cnblogs.com/mengdd/archive/2013/01/21/2869861.html

 

Java 泛型约束

原文:http://www.cnblogs.com/hongdada/p/6236939.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!