- /**
- * 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方法
最新推荐文章于 2023-06-14 09:18:38 发布
本文介绍如何使用Java反射API来获取和调用Bean类的get和set方法。通过具体代码示例展示了如何构造方法名并获取相应的方法对象,以及如何利用这些方法对象对Bean对象进行属性值的读取和设置。

595





