簡體   English   中英

java - 返回一個類(數組)的實例

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM