List<String> 转换成List<Object> 这一类的强转有啥隐患?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了List<String> 转换成List<Object> 这一类的强转有啥隐患?相关的知识,希望对你有一定的参考价值。

在Java的泛型接口中 把List < String > 转换成List < Object > 是可以,也是可以运行的。但是这样强制转换有什么隐患吗?我用了做一个公共工具处理一些List < XX > 类型。所以把它们都强转成List < Object > 处理,这样靠谱吗?

参考技术A 不靠谱,建议使用泛型来处理。
泛型在统一处理某个类型及其子类型的系统设计中的作用很大。

在java中如何把list转换成List<>

我通过这条DAOSupportFactory.getInstance().getJdbcDAOSupport().queryForList(sql)查询到一个list,但是我想把这个list转换成List<Event>,请问要怎么转?

Java在JDK1.4之后,提供了泛型功能,可以在运行之前确定运行类型,同样也可以运用到集合当中,通过泛型,支持在集合里面在套用集合,代码:
ArrayList<ArrayList<String>> listall = new ArrayList<ArrayList<String>>();
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<String> list2 = new ArrayList<String>();
ArrayList<String> list3 = new ArrayList<String>();
listall.add(list1);
listall.add(list2);
listall.add(list3);
这样就可以把3个list放到一个list里面。
参考技术A list在声明的时候就要求给定范型的,当你不给定是默认为Object类型的范型,而且给定不同的范型的list也是不同的数据类型。 参考技术B 估计是queryForList返回的List里面包含的对象不是Event,而是其它的对象。
如果不这样就不能强行的cast过去。
参考技术C 你可以在new List的时候直接就new成泛型的List,jdk要1.5以上的就支持泛型本回答被提问者和网友采纳 参考技术D List<Event> event= (Event)DAOSupportFactory.getInstance().getJdbcDAOSupport().queryForList(sql)

以上是关于List<String> 转换成List<Object> 这一类的强转有啥隐患?的主要内容,如果未能解决你的问题,请参考以下文章

List<String> 转换成List<Object> 这一类的强转有啥隐患?

java map对象转换成list

在java中如何把list转换成List<>

如何将map<string list<>>转换成城map<string,object>

键值集合List转换成datatable

如何将List集合转换成String的数组?