private TableColumn<?, ?> colname;
我想知道在表列声明中这个有什么用。
在 Java 中,? type 只是一个通配符。这意味着任何类。您可以在http://docs.oracle.com/javase/tutorial/java/generics/wildcards.html阅读更多相关信息
您可能从JavaFX SceneBuilder生成的骨架代码中获得了这个TableColumn<?, ?>
基于通配符的定义。当 SceneBuilder 生成代码时,它不知道要应用于表列的类型,因此它只是生成通配符类型。
例如,您应该编辑声明以为您的表列提供适当的类型TableColumn<Person,String>
,除非您真的想使用通配符类型,这在这种情况下不太可能。在我提供的示例中,Person
是表中每个行项String
的类型,是要在表列中表示的人员字段的类型(例如 a firstName
)。