2017-07-27 62 views
0

只有孩子的價值觀要顯示treeItem孩子們,我提出:的java得到的treeItem

System.out.println(
treeView.getSelectionModel().getSelectedItem().getChildren()); 

OUTPUT:

[TreeItem [ value: host1 ], TreeItem [ value: port1 ], TreeItem [ value: user1 ], TreeItem [ value: bd1 ]] 

不過,我只是想和值('host1', 'port1'..)結果。

那麼我該如何操控輸出呢?

+0

您是否試過使用'.getValue()'? – Sunflame

回答

1

getChildren()返回ObservableList<TreeItem<T>>對象。這實際上是一個列表。如果只想打印這些值,則應該遍歷此列表並使用getValue()方法打印每個對象的值。

List<TreeItem<Object>> children = 
treeView.getSelectionModel().getSelectedItem().getChildren(); 

for (TreeItem<Object> child : children) { 
    System.out.println(child.getValue()) 
} 
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); 

這應該打印所需的結果