Java list转为object_Java 如何将List<实体类> 转为List<Object>类型

因在写通用方法时有个需求,要将List 转为List类型,这样方便统一处理。

于是就想当然的这么强转(Student为实体类):

List list = new ArrayList();

List objList = (List)list;

然而报错:Cannot cast from List to List。

好吧,然后把代码改一下遍历一个一个转了:

import java.util.ArrayList;

import java.util.List;

public class ObjectList {

public static void main(String[] args) {

List list = new ArrayList();

//List objList = (List)list;//Cannot cast from List to List

List objList = toObject(list);

}

static public List toObject(List list){

List objlist = new ArrayList();

for(Object e : list){

Object obj = (Object)e;

objlist.add(obj);

}

return objlist;

}

}

有木有哪位好汉解释下,这个报错具体是为啥??

----------------------------------------------------------------------------------------------------------------------------tag

思考了好长时间,看了下java编程思想关于泛型的部分,有一丁点启发吧,不知道对错:

List 这里面的类型Object并不是一个泛型,也不是作为一个所有类型的父类,仅仅只是一个具体的Object类而已,所以arrayList集合中实体的类型必须要是Object类型才行。而如果把List改为泛型List的话就完美解决,它可以允许arrayList集合种类型为类和类型而无限制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值