我有一個泛型類型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