【发布时间】:2012-12-22 03:06:43
【问题描述】:
可能重复:
How do you cast a List of objects from one type to another in Java?
在网上搜索了一下,并没有找到好的方法......我现在的解决方案是:
public class A {}
List<Object> obj = new ArrayList<Object>();
obj.add(new A());
// Ugly solution here:
List<A> a = (List<A>) (List) obj;
但这很丑陋并收到警告。没有“官方”的方式吗?
编辑:致关闭此内容的人:我知道How do you cast a List of objects from one type to another in Java? 中发布的解决方案与我在问题中发布的解决方案相同(只需在第一次演员表后添加<?> 完全相同) 我在寻找更“干净”的东西。在使用Class<?> clazz = listobj.get(0).getClass 获取类并在运行时强制转换为正确类的方向上(但不知道这样的东西是否有效……Eclipse 似乎并不喜欢它……)
【问题讨论】:
-
你为什么要创建
List<Object>? -
@AdamArold 谢谢你的回答。是的,我应该更具体一点:
List<Object>来自于我正在使用 JDBC 获取数据库并且我不一定知道会出现的数据类型这一事实。显然我不是为了好玩而创建List<Object>^^