我有一个泛型类型CHILDITEMS的ObservableList,其中<CHILDITEMS extends PlanItem>
。我如何知道在运行时ObservableList是什么类型?ObservableArrayList:如何通过反射获取通用类型?
/*Get a reference to the child items of the currently viewed item.*/
ObservableList<CHILDITEMS> childItems = (ObservableList<CHILDITEMS>) viewing.getChildItems();
/*Set the child items label to the type of the child items.*/
childItemsLabel.setText("Name of CHILDITEMS class");
我不能使用getFields,因为CHILDITEMS不是一个真正的字段。在ObservableList.class上使用getType只返回泛型类型“E”,而不是运行时的内容。
CHILDITEM类型可能是目标,目标,策略或任务。我想知道它在运行时是什么。
泛型是一个编译时构造。那就是编译器会用它们来检查你是否没有意外地使用Object。在运行时,您的'ObservableList'变成'ObservableList