簡體   English   中英

通用類型的元素列表-Java

[英]List of elements of generic Type - Java

我無法處理某種結構,我必須使用:

Class<? extends Node> nodesClass = gds.getNodeType();
List<nodesClass> nodes = new ArrayList();

現在,eclipse不接受“ nodesClass”。 創建nodeType類型實例列表的代碼是什么?

我認為您正在嘗試通過調用從用戶獲取類類型

Class<? extends Node> nodesClass = gds.getNodeType();

然后,通過使用方法gds.getNodeType()給出的類類型,您想要創建ArrayList對象。

除此之外,您可以使用List<? extends Node> nodes = new ArrayList<>(); List<? extends Node> nodes = new ArrayList<>(); 因此,可以為nodes變量分配具有泛型類型的任何ArrayList對象,該對象應該是Node類的子類。

但是這里的問題是你不能向nodes變量添加任何新對象,即

nodes.add(new Node())是非法的,但是您可以鍵入secure,以使您只能擁有具有Node類的通用類型子類的List對象。

如果此答案不適合您,請告訴我您的確切要求是什么

您可以對要創建的列表執行有用的操作的唯一方法是將其創建為:

List<Node> nodes = new ArrayList();

嘗試創建List<? extends Node>List<? extends Node> List<? extends Node>只會使您的空列表不可用-您將無法對其添加任何內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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