首页 > 代码库 > Java 泛型约束
Java 泛型约束
类型约束:
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 泛型约束
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。