在网上搜索了一下,没有找到很好的方法... 我现在的解决方案是:
public class A {}
List<Object> obj = new ArrayList<Object>();
obj.add(new A());
// Ugly solution here:
List<A> a = (List<A>) (List) obj;
但这样做很丑陋,而且会有警告。没有“官方”的方法吗?
编辑:对于关闭此问题的人:我知道如何在Java中将一个对象列表转换为另一种类型的列表?中发布的解决方案。它与我在问题中发布的解决方案相同(只需在第一个强制转换后添加<?>
就可以完全相同)。我正在寻找更“干净”的方法。使用Class<?> clazz = listobj.get(0).getClass
获取类并在运行时将其强制转换为正确的类(但不知道是否有效... Eclipse似乎也不喜欢它...)
List<Object>
呢? - Adam AroldList<Object>
是因为我使用JDBC从数据库中获取数据,并且我不一定知道将要输出的数据类型。显然,我不是为了好玩而创建List<Object>
^^ - reverse_engineer