java 获取对象某个属性值

private String getValueByReflet(Object model, String paraName) throws Exception{
      // 返回值
      String value = "";

      // 获取属性值
      Field[] fields = model.getClass().getDeclaredFields();
		
      for (Field field : fields) {
            // 属性名称
            String name = field.getName();
	   // 属性类型
           String type = field.getGenericType().toString();
			
	   if (type.equals("class java.lang.String")) {
	         if (name.equals(paraName)) {
		       // 将属性的首字符大写,方便构造get,set方法
		       name = name.substring(0,1).toUpperCase() + name.substring(1); 
					
		       // 获取方法
		       Method m = model.getClass().getMethod("get" + name);
					
		       // 调用getter方法获取属性值
		       value = (String) m.invoke(model);
		 }
            }
      }
      return value;
}
 

方法二:

public static String getValueByReflet(Object model, String paraName) throws Exception {
      // 返回值
      String value = "";
		
      // 获取属性值
      Field[] fields = model.getClass().getDeclaredFields();
		
      for (Field field : fields) {
            field.setAccessible(true);
			
	    if (field.getName().equals(paraName)) {
	          value = (String) field.get(model);
				
		  break;
	    }
      }
      return value;
}

 

猜你喜欢

转载自z724130632.iteye.com/blog/2331521