我有一个方法(在一个表示一组对象的类中),它接收一个Class对象作为参数,我需要找到集合中所有具有此Class对象作为其元对象的对象。 / p>
问题是我需要将它们作为类型的数组返回,并且我不知道如何获取对象类型。
所以换句话说,我需要创建一个数组,其类型取决于Class对象,例如:
public Object[] getAllFromType(Class meta){
Object[] temp = new meta.getDynamicType[fullCells];
...
...
...
return temp;
}
有可能吗?
感谢。
答案 0 :(得分:1)
嗯,正如您已经表明的那样,无论如何都要将其作为Object[]
返回,因此您在这里无法获得编译时间的好处,但你可以很容易地创建一个正确类型的数组:
Object[] array = (Object[]) Array.newInstance(meta, fullCells);
请注意,需要转化为Object[]
,因为Array.newInstance
会返回Object
- 例如,int[]
的广告投放会失败,因为int[]
不是&# 39; t Object[]
。但是,如果数组元素类型是任何类或接口类型,它将起作用。