BeanUtils.copyProperties() 方法是 Apache Commons BeanUtils 库中的一个方法,用于将一个 JavaBean 的属性值复制到另一个 JavaBean 中。
使用方法如下:
import org.apache.commons.beanutils.BeanUtils;
SourceBean source = new SourceBean();
TargetBean target = new TargetBean();
BeanUtils.copyProperties(target, source);
此时,源对象 source
的属性值将会复制到目标对象 target
中。
注意事项:
目标对象 target
必须已经实例化,否则会抛出 NullPointerException
异常。
如果源对象 source
和目标对象 target
中存在属性名相同但类型不同的属性,会抛出 IllegalAccessException
异常。
BeanUtils.copyProperties() 方法只会复制属性的值,不会复制属性的引用。
另外,还可以使用 BeanUtils.copyProperties() 方法的重载版本,可以指定需要复制的属性列表。
String[] properties = {"property1", "property2", ...};
BeanUtils.copyProperties(target, source, properties);
上述代码中的 properties
数组中的属性名是需要复制的属性列表,只会复制该列表中指定的属性的值,其他属性将会被忽略。