如何在 JavaFX 中从 VBox.getChildren() 投射列表项

Howto cast List items from VBox.getChildren() in JavaFX

我有一个 VBox,其中添加了许多 Button 类型的节点。

private final VBox vbox = new VBox();

private final Button b1= new Button("1");
private final Button b2= new Button("2");
private final Button b3= new Button("3");
private final Button b4= new Button("4");

vbox.getChildren().addAll(b1,b2,b3,b4);


有没有办法将其子项转换为 Button 类型。

我需要这样的东西:

ObservableList<Button> children = (ObservableList<Button>) vbox.getChildren();

是的,如果您使用原始类型,这是可能的。

ObservableList<Button> children = (ObservableList)vbox.getChildren();

但是请注意,如果类型不正确或子列表硬编码取决于类型参数的参数的参数类型,这很容易在运行时导致 ClassCastExceptions。