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