標籤:.com get java 泛型 admin htm 自己 tle null gen
類型約束:
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 泛型約束