显示我做过的一个treeItem孩子:
System.out.println(
treeView.getSelectionModel().getSelectedItem().getChildren());
输出:
[TreeItem [ value: host1 ], TreeItem [ value: port1 ], TreeItem [ value: user1 ], TreeItem [ value: bd1 ]]
但是,我只希望得到值为('host1', 'port1'..)
的结果。
那么我该如何操纵输出呢?
答案 0 :(得分:1)
使用java8流,你可以很容易地做到:
List<TreeItem> children = treeView.getSelectionModel().getSelectedItem().getChildren();
List<String> childrenValues = children.stream() // get stream from list
.map(TreeItem::getValue) // equal to: item -> item.getValue()
.collect(Collectors.toList()); // collect all to a single list
System.out.println(values);
哪个应打印所需的结果
答案 1 :(得分:1)
getChildren()
会返回ObservableList<TreeItem<T>>
个对象。这实际上是一个列表。如果只想打印值,则应迭代此列表并使用TreeItem
方法打印每个getValue()
对象的值。
List<TreeItem<Object>> children =
treeView.getSelectionModel().getSelectedItem().getChildren();
for (TreeItem<Object> child : children) {
System.out.println(child.getValue())
}