關于泛型的基本介紹和理解請參考以下幾篇文章,或查詢更多資料:
本篇以簡單的List<>方式來進行說明。
ArrayList繼承了List,
ArrayList沒有繼承List
List>等價于List extends Object>
請參考以下代碼:
/**
* author Ding Chengyun
* 2014-2-27
*/
package test;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
/**
* @author Ding Chengyun
* 2014-2-27L
*/
public class ListTest {
public void method1(List list) {
}
public void method2() {
method1(new ArrayList());
method1(new ArrayList()); //會編譯報錯
method1(new LinkedList());
}
public void method3(List extends Object> list) {
}
public void method4() {
method3(new ArrayList());
method3(new ArrayList());
method3(new LinkedList());
}
public void method5(List> list) {//泛型中?等價于? extends Object
}
public void method6() {
method5(new ArrayList());
method5(new ArrayList());
method5(new LinkedList());
}
/**
* @param args
*/
public static void main(String[] args) {
List list = new ArrayList(20);
}
}
原文:http://blog.csdn.net/sundenskyqq/article/details/27788705