java反射获取object类中的属性
2018-03-07 09:43
246 查看
参考资料:http://blog.csdn.net/nihaoqiulinhe/article/details/53838874
以下开始是正文————–分割线—————-
做项目的时候遇到一个问题,要求写一个通用的工具包,传入一个list,然后获取list里面的数据。问题来了,既然是通用的,就不能指定类,最多是list<object>
这种。
不会做的时候就度娘之
public static void exportFile(HashMap map, List exportData, String fileds[]){ for (int j = 0; exportData != null && !exportData.isEmpty() && j < exportData.size(); j++) { Class clazz = exportData.get(j).getClass(); String[] contents = new String[fileds.length]; //fileds是object的属性,调用本方法的时候传入 for (int i = 0; fileds != null && i < fileds.length; i++) { String filedName = toUpperCaseFirstOne(fileds[i]); //将例如name的属性转化为getName这种方法 Object obj = null; try { Method method = clazz.getMethod(filedName); method.setAccessible(true); obj = method.invoke(exportData.get(j)); } catch (Exception e) { } String str = String.valueOf(obj); //str即为name的值 if (str == null || str.equals("null")) str = ""; contents[i] = str; } } }
将第一个字母转换为大写字母并和get拼合成方法
/** * 将第一个字母转换为大写字母并和get拼合成方法 * * @param origin * @return */ private static String toUpperCaseFirstOne(String origin) { StringBuffer sb = new StringBuffer(origin); sb.setCharAt(0, Character.toUpperCase(sb.charAt(0))); sb.insert(0, "get"); return sb.toString(); }
相关文章推荐
- java反射动态给对象属性赋值,并获取属性值
- Java反射获取对象属性并设值
- java 反射获取类中所有的属性(含父类)
- Java反射获取属性、方法、构造器
- java进阶之反射:反射基础之如何获取一个类以及如何获取这个类的所有属性和方法(2)
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java反射扫描包,获取枚举属性
- java反射:获取父类中的所有属性和方法工具类
- Java反射获取标准JavaBean属性
- Java中用反射的方式获取类中的所有属性和方法,以及获取属性的默认值,设置属性的默认值
- java利用反射获取对象类名以及对象属性名
- 测试 java反射Reflection中 获取 类属性、方法、构造方法及 调用类方法改变 对象属性
- JAVA反射获取对象属性和字段
- Java反射-获取私有方法及私有属性
- java利用反射获取类属性名,获取JavaBean属性名
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值
- java内省(同反射)获取属性的getter\setter方法等
- Java反射——获取私有属性及方法