在Java中,BeanUtils.copyProperties()方法是org.apache.commons.beanutils.BeanUtils類中的一個靜態(tài)方法,用于將一個JavaBean對象的屬性值復(fù)制到另一個JavaBean對象中。
方法簽名如下:
public static void copyProperties(Object dest, Object orig) throws IllegalAccessException, InvocationTargetException
參數(shù)說明:
dest:目標(biāo)對象,即要將屬性值復(fù)制到的對象。
orig:原始對象,即要從中復(fù)制屬性值的對象。
該方法會將orig對象的屬性值復(fù)制到dest對象中,屬性名和屬性類型相同的屬性值會被復(fù)制,屬性名和屬性類型不同的屬性值會被忽略。該方法使用反射機制來實現(xiàn)屬性值的復(fù)制。
示例代碼:
Person person1 = new Person();
person1.setName("John");
person1.setAge(30);
Person person2 = new Person();
BeanUtils.copyProperties(person2, person1);
System.out.println(person2.getName()); // 輸出:John
System.out.println(person2.getAge()); // 輸出:30
在上面的示例中,將person1對象的屬性值復(fù)制到person2對象中,person2對象的name屬性值將被設(shè)置為"John",age屬性值將被設(shè)置為30。
需要注意的是,如果屬性值是對象類型,那么只會復(fù)制對象的引用而不會復(fù)制對象本身,因此修改一個對象的屬性值可能會影響到另一個對象的屬性值。如果需要復(fù)制對象本身而不是引用,可以使用其他方法,如序列化和反序列化來實現(xiàn)。