[英]java - return an instance of a class (array)
所以我有一個類數組:
Class<?>[] classes;
我在我的構造函數中填充這些類:
public Sample (Class<?>[] classes){
this.classes = classes;
}
然后,我有一個方法根據它們的索引返回一個類的實例:
public Object getInstanceOfClassWithIndex(int index){
return new classes[index];
}
不幸的是,這不起作用並導致編譯錯誤。 謝謝。 任何幫助,將不勝感激。
您應該調用newInstance()方法在給定索引處創建類的對象。
return classes[index].newInstance();
問題是你在這里有一個不必要的new
:
return new classes[index];
嘗試:
return classes[index];
注意,此返回一個Class<T>
而不是一個新實例T
。 要生成它,您需要通過newInstance()
使用反射。
代替:
public Object getInstanceOfClassWithIndex(int index){
return new classes[index];
}
和:
public Object getInstanceOfClassWithIndex(int index){
return classes[index];
}
您不是在創建新實例,因此不需要new
實例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.