如何獲取方法返回值像List、Map中的泛型類型?
Type type = method.getGenericReturnType();//返回參數帶泛型
if (type instanceof ParameterizedType) { //判斷是否是參數化類型
ParameterizedType pType = (ParameterizedType) type;
Type[] types = pType.getActualTypeArguments();
}
java 經過反射填充屬性
public static <T> T attributeFill(Class<T> tClass, Map<String, String> attribute) throws Exception {
T targetObj = tClass.newInstance();
for (Map.Entry<String, String> entry : attribute.entrySet()) {
String filedName = entry.getKey();
String filedValue = entry.getValue();
filedValue = entry.getKey();
//filedName 字段名必需要和tClass中的字段名一致
PropertyDescriptor pd = new PropertyDescriptor(filedName, tClass);
Method writeMethod = pd.getWriteMethod();
writeMethod.invoke(targetObj, filedValue);
}
return targetObj;
}