java基础之泛型的继承

关于泛型的基本介绍和理解请参考以下几篇文章,或查询更多资料:

泛?型?与?泛?型?继?承

 泛型(包括泛型抽象类的继承)

泛型的继承测试

本篇以简单的List<>方式来进行说明。

ArrayList<Object>继承了List<Object>,

ArrayList<String>没有继承List<Object>

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<Object> list) {
		
	}
	public void method2() {
		method1(new ArrayList<Object>());
		method1(new ArrayList<String>()); //会编译报错
		method1(new LinkedList<Object>());
	}

	public void method3(List<? extends Object> list) {
		
	}
	public void method4() {
		method3(new ArrayList<Object>());
		method3(new ArrayList<String>());
		method3(new LinkedList<Integer>());
	}
	
	public void method5(List<?> list) {//泛型中?等价于? extends Object
		
	}
	public void method6() {
		method5(new ArrayList<Object>());
		method5(new ArrayList<String>());
		method5(new LinkedList<Integer>());
	}
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		List<String> list = new ArrayList<String>(20);
	}

}



java基础之泛型的继承,布布扣,bubuko.com

java基础之泛型的继承

上一篇:CentOS 7安装confluence5.4.4踩坑记录


下一篇:栈的实现与操作(C语言实现)