Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BeanUtils在bean之间复制具有不同名称的属性_Java_Javabeans_Apache Commons Beanutils - Fatal编程技术网

Java 使用BeanUtils在bean之间复制具有不同名称的属性

Java 使用BeanUtils在bean之间复制具有不同名称的属性,java,javabeans,apache-commons-beanutils,Java,Javabeans,Apache Commons Beanutils,我想用BeanUtils将属性值从类A复制到类B,BeanUtils具有相同的字段,但名称不同。是否可以提供物业名称到不同名称、年龄到不同阶段等的映射,并实现复制?我很想知道这是否可以通过任何方式仅使用ApacheCommons实用程序(而不是任何其他工具)实现 ApacheCommonsBeanutils有一个方法,该方法接受一个映射,用键值对填充Bean 注意:我刚刚看到了ApacheCommons的局限性,但它对其他人可能仍然有用,就我而言,更好的解决方案可能会有用 当名称匹配时使用,它将

我想用BeanUtils将属性值从类A复制到类B,BeanUtils具有相同的字段,但名称不同。是否可以提供物业名称到不同名称、年龄到不同阶段等的映射,并实现复制?我很想知道这是否可以通过任何方式仅使用ApacheCommons实用程序(而不是任何其他工具)实现


ApacheCommonsBeanutils有一个方法,该方法接受一个映射,用键值对填充Bean

注意:我刚刚看到了ApacheCommons的局限性,但它对其他人可能仍然有用,就我而言,更好的解决方案可能会有用


当名称匹配时使用,它将自动复制值。或者与您的情况一样,您可以在xml映射文件中指定源成员和目标成员。

但填充仍需要相同的字段名。如何将“age”属性映射到“differentitage”属性?正如您在链接的API中所读到的:“properties-映射由属性名称设置的键,并设置相应的(String或String[])值”。关键必须是“差异”和值20或任何时候。。。您必须以这种方式或使用Dozer和xml映射将值映射到某个位置。不客气,您发布问题已经很久了:)
class ClassA{
    private String name;
    private Integer age;
    ... // Setter and Getter methods
} 

class ClassB{
    private String differentName;
    private Integer differentAge;
    ... // Setter and Getter methods for the private fields
}