动态钻石操作员参数

时间:2014-11-13 20:08:03

标签: java javafx

我有以下代码:

@FXML
TableView dataTable;

for(HashMap column : columns){

    String dataType = (String)column.get("DATA_TYPE");

    if(dataType.matches("char|date")){
        TableColumn<String, String> tableColumn;
    }else if(dataType.matches("int")){
        TableColumn<String, Integer> tableColumn;
    }else{
        TableColumn<String, String> tableColumn;
    }

    tableColumn = new TableColumn<>((String)column.get("COLUMN_NAME"));
    dataTable.getColumns().add(tableColumn);
}

我不确定的是钻石运营商。该运算符的第二个值将根据数据库中的内容而更改。我遇到的问题是,它说它无法在此行找到tableColumn

tableColumn = new TableColumn<>((String)column.get("COLUMN_NAME"));

是否有一个解决方案可以让我动态更改Diamond Operator参数?

1 个答案:

答案 0 :(得分:0)

宣布一个

 TableColumn<String, Object> tableColumn

并使用它,但跟踪值类(根据column.get(“DATA_TYPE”)。当您提取值时,可以使用它来分支处理,转换为适当的数据类型。

不是很优雅,但由于数据是三种类型中的任何一种......