Java 反射 : Instantiate a new object with specified type

标签 java

我是反射(reflection)的新手,我试着用它来锻炼......

这是代码...

 for (java.lang.reflect.Field field : fields) {

        String getter = "get"+field.getName().substring(0,1).toUpperCase()+field.getName().substring(1);
        String setter = "set"+field.getName().substring(0,1).toUpperCase()+field.getName().substring(1);
        java.lang.reflect.Method getterMethod;
        java.lang.reflect.Method setterMethod;

        try {
             getterMethod = this.getClass().getMethod(getter, null);
             Object valueGetted = getterMethod.invoke(this, null);

             Class[] paramForSetter = new Class[1];
             paramForSetter[0] = valueGetted.getClass();



             setterMethod = p.getClass().getMethod(setter, paramForSetter);
             setterMethod.invoke(p.getClass(),XXXX); 

             System.out.println("");

        } catch (SecurityException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchMethodException e) {
            // TODO Auto-Trace();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (InvocationTargetException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

    }

我认为这是一个愚蠢的问题。在 XXXXX 上,我想要一个类型和值为 value getted 的对象......

我认为这很有用......但不是......

        setterMethod.invoke(p.getClass(),(valueGetted.getClass().getName())  valueGetted );

帮助!

最佳答案

您可能想查看 BeanUtils 的代码来自 Apache 公地。以下函数应该对 cloneBean() 和 copyProperties() 有用。

关于Java 反射 : Instantiate a new object with specified type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5211450/

相关文章:

java - 为什么 Swing 创建者创建了 mouseDragged 方法?

java - 在 Java 中从 ArrayList 添加、访问或删除元素的算法成本是多少

java groovy提取两个字符串

java - 如何从移动设备以编程方式解压缩 .apk 文件?以及如何将文件插入其中?

Java - 如何找出哪个类文件有损坏的常量池?

java - 为 MQSeries 编写 Java 客户端的最低要求是什么?

java - 插入从选择查询中检索的 MySQL 结果集?

java - 在Ubuntu上安装OpenJDK 14

java - LibGDX:无法在我的表中添加纹理

java - ConcurrentModificationException 使我的应用程序崩溃