2017-02-22 57 views
0

我有一個很大的問題。我的代碼:Java等於來自ObservableList的字符串和對象

TablePosition pos = (TablePosition) 
    tableView.getSelectionModel().getSelectedCells().get(0); 
Object item = tableView.getItems().get(pos.getRow()); 
Object e = ((List<ObservableList>) item).get(0); 
String new_status = "textExample"; 

以及如何使用等於? new_status.equals(e)?我不知道如何將其轉換。

p.s.在控制檯e =「textExample」中。

我需要這個來更新一個sql行。

+0

林不知道你在問什麼。 –

+0

我想比較一下:對象「e」和字符串「new_status」 – Light

+0

你可以使用較少的原始類型嗎?例如。你的'tableView'應該聲明爲'TableView tableView;'那麼'item'的類型就是'Something'(大概是List >')的類型。如果你擺脫原始類型,這應該變得更容易。\ –

回答

1

如果你想獲得選擇的項目,你可以使用getSelectedItems()(或getSelectedItem(),如果你只想要最新的選擇)。您不需要使用選定的單元格,表格位置和行。

假設TableView<ObservableList<String>>(您可能會也可能沒有)。代碼檢索選定行(可能是第一列表示的值)的第一個元素的值,就如下:

final String NEW_STATUS = "textExample"; 

    final TableView<ObservableList<String>> tableView = new TableView<>(); 
    final ObservableList<String> selectedItem = 
      tableView.getSelectionModel().getSelectedItem(); 

    if (selectedItem != null 
      && !selectedItem.isEmpty() 
      && NEW_STATUS.equals(selectedItem.get(0))) { 
     // do work here. 
    } 

當你的類型定義可能不同,你可能需要適應代碼以上,以根據需要適合您的情況。如果仍然無法解決問題,則需要編輯問題以提供mcve以獲得進一步的幫助。