確定爲通配符但後來......
Class<?> thisClass = Class.forName("Point", true, classLoader);
Object iClass = thisClass.newInstance();
...
ObservableList<?> data = FXCollections.observableArrayList();
data.addAll(iClass);
最後一行原因:找不到適用於addAll(Object)的方法。
任何想法?
五(或者多一點;-)分鐘後......
相反通配符,「對象」做的伎倆。受到This thread的啓發,他們解釋說:「所以未知類型的集合不是可以採用任何類型的集合,它只採用未知類型,而且因爲我們不知道該類型(它的未知),所以我們永遠無法添加一個值,因爲java中沒有類型是未知類型的子類。「
所以,現在,我的解決辦法是:
Class<?> thisClass = Class.forName("Point", true, classLoader);
Object iClass = thisClass.newInstance();
...
ObservableList<Object> data = FXCollections.observableArrayList();
data.addAll(iClass);
// Sample Point class method
Method getXMethod = thisClass.getDeclaredMethod("getX");
System.out.println(getXMethod.invoke(data.get(0)));
'thisClass'是一個變量,而不是一個類型的變量。 –
你仍然可以使用ObservableList > – SomeDude