0

假设我想将泛型与 TableViewBuilder 一起使用。以下工作,但我从 .columns 调用中收到类型安全警告。它会自动创建一个类型的数组TableColumn<Thing,?>

TableColumn<Thing, Integer> anIntColumn = ... 
TableColumn<Thing, Double> aDoubleColumn = ... 
TableColumn<Thing, String> aStringColumn = ... 
TableView<Thing> table =
                TableViewBuilder
                        .<Thing> create()
                        .items(tableDataList)
                        .columns(anIntColumn, aDoubleColumn, aStringColumn).build();

是否有一些我缺少的语法?

4

2 回答 2

1
  1. 不要像jewelsea已经建议的那样使用构建器,这会增加您无法推断出任何泛型的性能问题。的结果.build()总是<Object, Object>。一种可能性是使用演员表。

  2. 如果有可能,请使用 FXML。

  3. 如果你需要代码,你可以做这样的事情

.

final TableView<Boolean> table = new TableView<Boolean>();
final TableColumn<Boolean, String> col = new TableColumn<Boolean, String>();
table.getColumns().add(col);
于 2013-10-22T05:53:34.497 回答
1

不要使用 TableViewBuilder 和其他构建器 - 它们已被弃用,并且在未来的 Java 版本(如 Java 8)中可能无法正常工作。

于 2013-10-21T14:19:15.957 回答