我在一個類中定義的方法:Java反射:我的Collection包含什麼?
public void setCollection(Collection<MyClass>);
,並在另一個類
public void setCollection(Collection<OtherClass>);
(真的,很多類似的類的)
所有在班與同超類,並且我在支持類中有一個方法,我想調用此方法並將其設置爲具有正確類類型的項。現在,我可以說我做
Method setter = ...;
Class<?> paramClass = setter.getParameterTypes()[0]; // Is Collection in this case
if(paramClass.equals(Collection.class)) {
HashSet col = new HashSet();
// fill the set with something
setter.invoke(this, col);
}
設置集合,但我怎麼想出這個集合中的對象應該是屬於什麼階級?
乾杯
聶
謝謝一堆,這解決了我的問題!此處增加的複雜性會降低我整體的複雜度,所以我會爲你效勞並真誠地感謝你。 :-) – niklassaers 2009-11-19 16:40:14