如何在Java中使用反射來查找Collection的大小(即Set
或List
)?如何在java中使用反射來查找Collection的大小?
我有類似下面的例子,想知道如何在使用反射的時候找到集合的大小。
編輯:
Class<?> clazz = node.getClass();
Field [] fields = clazz.getDeclaredFields();
for(Field field : fields) {
System.out.println("declared fields: "+ field.getType().getCanonicalName());
//getting a generic type of a collection
Type returntype = field.getGenericType();
if (returntype instanceof ParameterizedType) {
ParameterizedType type = (ParameterizedType) returntype;
Type[] typeArguments = type.getActualTypeArguments();
for(Type typeArgument : typeArguments) {
Class<?> classType = (Class<?>) typeArgument;
System.out.println("typeArgClass = " + classType.getCanonicalName());
}
}
}
那麼,它會怎麼做*沒有*反射? (也就是說,反射與它有什麼關係......?) – 2012-06-20 21:34:03
你能否提供一個你認爲「找到一個大小」是什麼的場景?是否像通過反射調用size()一樣簡單? – dasblinkenlight
你能舉個簡單的例子嗎? – jsalonen