从元对象中创建对象变量

时间:2015-05-20 12:33:23

标签: java

我有一个方法(在一个表示一组对象的类中),它接收一个Class对象作为参数,我需要找到集合中所有具有此Class对象作为其元对象的对象。 / p>

问题是我需要将它们作为类型的数组返回,并且我不知道如何获取对象类型。

所以换句话说,我需要创建一个数组,其类型取决于Class对象,例如:

public Object[] getAllFromType(Class meta){
    Object[] temp = new meta.getDynamicType[fullCells];

    ...
    ...
    ...
    return temp;
}

有可能吗?

感谢。

1 个答案:

答案 0 :(得分:1)

嗯,正如您已经表明的那样,无论如何都要将其作为Object[]返回,因此您在这里无法获得编译时间的好处,但你可以很容易地创建一个正确类型的数组:

Object[] array = (Object[]) Array.newInstance(meta, fullCells);

请注意,需要转化为Object[],因为Array.newInstance会返回Object - 例如,int[]的广告投放会失败,因为int[]不是&# 39; t Object[]。但是,如果数组元素类型是任何类或接口类型,它将起作用。