我有以下代码:
@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参数?
答案 0 :(得分:0)
宣布一个
TableColumn<String, Object> tableColumn
并使用它,但跟踪值类(根据column.get(“DATA_TYPE”)。当您提取值时,可以使用它来分支处理,转换为适当的数据类型。
不是很优雅,但由于数据是三种类型中的任何一种......