gpt4 book ai didi

Java 反射 : Instantiate a new object with specified type

转载 作者:行者123 更新时间:2023-11-29 03:57:58 24 4
gpt4 key购买 nike

我是反射(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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com