java - 返回类的一个实例(数组)

时间:2012-11-25 04:27:52

标签: java android class object fragment

所以我有一系列课程:

Class<?>[] classes;

我在构造函数中填充了这些类:

public Sample (Class<?>[] classes){
this.classes = classes;
}

然后,我有一个方法,根据索引返回其中一个类的实例:

public Object getInstanceOfClassWithIndex(int index){
   return new classes[index];
}

不幸的是,这不起作用并导致编译错误。谢谢。任何帮助将不胜感激。

3 个答案:

答案 0 :(得分:2)

您应该调用newInstance()方法在给定索引处创建类的对象。

return classes[index].newInstance();

答案 1 :(得分:0)

问题是你在这里有一个不必要的new

return new classes[index];

尝试:

return classes[index];

请注意,这会返回Class<T>而不是T的新实例。要生成它,您需要通过newInstance()使用反射。

答案 2 :(得分:0)

替换:

public Object getInstanceOfClassWithIndex(int index){
   return new classes[index];
}

使用:

public Object getInstanceOfClassWithIndex(int index){
   return classes[index];
}

您没有创建新实例,因此不需要new