首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

利用JAVA Bean 反照得到set,get方法

2012-11-07 
利用JAVA Bean 反射得到set,get方法/*** java反射bean的get方法** @param objectClass* @param fieldName*

利用JAVA Bean 反射得到set,get方法

/**  * java反射bean的get方法  *   * @param objectClass  * @param fieldName  * @return  */  @SuppressWarnings("unchecked")  public static Method getGetMethod(Class objectClass, String fieldName) {      StringBuffer sb = new StringBuffer();      sb.append("get");      sb.append(fieldName.substring(0, 1).toUpperCase());      sb.append(fieldName.substring(1));      try {          return objectClass.getMethod(sb.toString());      } catch (Exception e) {      }      return null;  }    /**  * java反射bean的set方法  *   * @param objectClass  * @param fieldName  * @return  */  @SuppressWarnings("unchecked")  public static Method getSetMethod(Class objectClass, String fieldName) {      try {          Class[] parameterTypes = new Class[1];          Field field = objectClass.getDeclaredField(fieldName);          parameterTypes[0] = field.getType();          StringBuffer sb = new StringBuffer();          sb.append("set");          sb.append(fieldName.substring(0, 1).toUpperCase());          sb.append(fieldName.substring(1));          Method method = objectClass.getMethod(sb.toString(), parameterTypes);          return method;      } catch (Exception e) {          e.printStackTrace();      }      return null;  }    /**  * 执行set方法  *   * @param o执行对象  * @param fieldName属性  * @param value值  */  public static void invokeSet(Object o, String fieldName, Object value) {      Method method = getSetMethod(o.getClass(), fieldName);      try {          method.invoke(o, new Object[] { value });      } catch (Exception e) {          e.printStackTrace();      }  }    /**  * 执行get方法  *   * @param o执行对象  * @param fieldName属性  */  public static Object invokeGet(Object o, String fieldName) {      Method method = getGetMethod(o.getClass(), fieldName);      try {          return method.invoke(o, new Object[0]);      } catch (Exception e) {          e.printStackTrace();      }      return null;  }  

热点排行