原文链接:https://blog.csdn.net/eeeeasy/article/details/80999650?utm_source=blogxgwz2
在项目中遇到一个问题,想要封装一个通用的可接收任意类型的List对象的方法,最开始以为很容易实现,
通过List就可接收任意List的对象,后来发现这根本行不通,最开始的思路如下
List list = new ArrayList();
List objList = list;
上面这种作为是错误的,无法转型,后来思考了一下,把List作为一个整体类型来看,他和List确实是不存在任何关系的,并没有最开始认为的存在上下级关系,可以实现多态向上转型,所以后来想到用泛型来解决这个问题,还额外想到了另外两种方式,代码如下:
importjava.lang.reflect.Field;importjava.util.ArrayList;importjava.util.List;/*** @Auther: HeJD
* @Date: 2018/7/4 11:30
* @Description:*/
public classOrderService {//方式一:
public static void testList(Listlist){for(Object object:list) {
System.out.println(object.toString());
}
}//方式二:
public static voidtestList2(List list){for(Object obje