- /**
- * 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;
- }
用JAVA Bean 反射得到set,get方法
最新推荐文章于 2024-08-16 14:06:47 发布