反射,JDK

Class clz=t.getClass();
Field[] fields = clz.getDeclaredFields();
for(Field field:fields){
  Method m = (Method) clz.getMethod("get" + getMethodName(field.getName()));
  ojbject obj = m.invoke(t);// 调用getter方法获取属性值
}


	// 把一个字符串的第一个字母大写、效率是最高的、
    public static String getMethodName(String fildeName) throws Exception{
		  byte[] items = fildeName.getBytes();
		  items[0] = (byte) ((char) items[0] - 'a' + 'A');
		  return new String(items);
    }

   上面代码获取bean数值效率相对好点。

  使用reflectasm包可提升效率

猜你喜欢

转载自wo232625.iteye.com/blog/2288068
今日推荐