一、實體類
Cat.java
// 省略了 set/get 方法
public class Cat {
private Integer id;
private String name;
private String age;
}
Dog.java
// 省略了 set/get 方法
public class Dog {
private String name;
private String age;
private String gender;
}
二、測試類
public class SpringTest {
public static void main(String[] args) {
Cat cat = new Cat();
cat.setId(9527);
cat.setName("xiaomaomao");
cat.setAge("22");
Dog dog = new Dog();
BeanUtils.copyProperties(cat,dog);
System.out.println(dog);
}
}
三、測試結果
Dog{name='xiaomaomao', age='22', gender='null'}
四、總結
通過上面的例子可以看出 Cat、Dog 類中共同擁有的屬性是 name、age, Cat 中獨有的屬性 id、Dog 中獨有的屬性 gender,只有相同類型、相同名稱的屬性值能夠復制,如果某一個屬性不存在,則會被默認值覆蓋,對於 BeanUtils.copyProperties(A,B),最好是 A 中的屬性值多於 B 中的屬性值,這樣 B 中就可以根據屬性的名稱獲得 A 中的屬性值了.
