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