java 反射技巧
Posted SanPiBrother
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 反射技巧相关的知识,希望对你有一定的参考价值。
如何获取方法返回值像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;
}
以上是关于java 反射技巧的主要内容,如果未能解决你的问题,请参考以下文章