Java 如何将List<实体类> 转为List<Object>类型
2017-01-19 15:52
736 查看
因在写通用方法时有个需求,要将List<实体类> 转为List<Object>类型,这样方便统一处理。
于是就想当然的这么强转(Student为实体类):
然而报错:Cannot cast from List<Student> to List<Object>。
好吧,然后把代码改一下遍历一个一个转了:
有木有哪位好汉解释下,这个报错具体是为啥??
----------------------------------------------------------------------------------------------------------------------------tag
思考了好长时间,看了下java编程思想关于泛型的部分,有一丁点启发吧,不知道对错:
List<Object> 这里面的类型Object并不是一个泛型,也不是作为一个所有类型的父类,仅仅只是一个具体的Object类而已,所以arrayList集合中实体的类型必须要是Object类型才行。而如果把List<Object>改为泛型List<T>的话就完美解决,它可以允许arrayList集合种类型为类和类型而无限制。
于是就想当然的这么强转(Student为实体类):
List<Student> list = new ArrayList<Student>(); List<Object> objList = (List<Object>)list;
然而报错:Cannot cast from List<Student> to List<Object>。
好吧,然后把代码改一下遍历一个一个转了:
import java.util.ArrayList; import java.util.List; public class ObjectList { public static void main(String[] args) { List<Student> list = new ArrayList<Student>(); // List<Object> objList = (List<Object>)list; //Cannot cast from List<Student> to List<Object> List<Object> objList = toObject(list); } static public <E> List<Object> toObject(List<E> list){ List<Object> objlist = new ArrayList<Object>(); for(Object e : list){ Object obj = (Object)e; objlist.add(obj); } return objlist; } }
有木有哪位好汉解释下,这个报错具体是为啥??
----------------------------------------------------------------------------------------------------------------------------tag
思考了好长时间,看了下java编程思想关于泛型的部分,有一丁点启发吧,不知道对错:
List<Object> 这里面的类型Object并不是一个泛型,也不是作为一个所有类型的父类,仅仅只是一个具体的Object类而已,所以arrayList集合中实体的类型必须要是Object类型才行。而如果把List<Object>改为泛型List<T>的话就完美解决,它可以允许arrayList集合种类型为类和类型而无限制。
相关文章推荐
- java 如何将List<objetct>类型强制转为新的List<实体类>
- java如何解析json字符串(List<Map<String,Object>成功的类型)
- JAVA遍历List<Map<String,Object>> 如何根据List中Map的Value的值进行遍历
- java实现List<Object>转List<实体类>,java实现Object转对象,java实现Object转实体类
- Java实现List<Object>转List<实体类>
- Mybatis 如何 返回 List<String> 类型 或 List<Map<String,Object>>类型
- 如何判断List<Object>中是否包含,一个有相同xxx某个属性实体类
- Hql的select 语句返回Ilist<object[]>类型,如何转换为映射类型
- java中集合排序,List<Map>,List<T>类型或者JSONObject的升序和降序排序
- List<Map<String,Object>>如何使用Java代码遍历以获取String,Object的值
- scala返回List<Object>类型给java
- java如何将list<T>转换成List<Object>
- Java 面试题之反射的应用(如何在List<String> list = new ArrayList<String>();中放入Integer类型的数据)
- Java的List<Object>如何判断元素类别、输入流的回退,以及Autocad中参照块的坐标变换。
- 在 JSP页面中遍历 Map<Integer, List<User>> 类型, 如何做?
- 在Java中将数据库查询结果保存为List<Map>类型的JavaScript数组文件
- List<Map<String,Object>> list 在java代码和jsp中的遍历
- 用List <Object[]>类型保存的, 这个结果只包含一列数据问题
- List<Map<String,Object>>使用Java代码遍历以获取String,Object的值
- 在JavaScript中实现类似Java中List<Map>类型的数组