假设我有一个圆形节点列表:
List<Circle> circles = Arrays.asList(new Circle(), new Circle());
如果我想创建javafx.scene.Group
,我不能使用构造函数
Group group = new Group(circles); // DOES NOT COMPILE
但必须像这样添加我的节点:
Group group = new Group();
group.getChildren().addAll(circles);
为什么Group构造函数只接受Collection<Node>
而不接受Collection<? extends Node>
,因为它只会委托给getChildren().addAll(...)
(这是协变的)?