JAVA中JavaBean对象之间拷贝的方法

  JAVA中JavaBean对象之间的拷贝通常是用get/set方法,但如果你有两个属性相同的JavaBean或有大部分属性相同的JavaBean,有个更简便的方法,他们之间的拷贝可以通过copyProperties方法进行。方法如下:

 User u = new User();//source
u.setUid("1");
u.setName("tom");
u.setAge((short)18); Student s = new Student();//target BeanUtils.copyProperties(u, s);
System.out.println("[sid]"+s.getSid()+"#[name]"+s.getName()+"#[sex]"+s.getSex()+"#[age]"+s.getAge());

输出如下:

JAVA中JavaBean对象之间拷贝的方法

总结:copyProperties方法的作用是将两个对象之前相同的属性进行复制,这里的相同不仅是属性字段名称相同,并且字段类型也要相同。比如上面两个JavaBean对象只有name属性相同,因此只成功复制了name属性的值。

User对象:

 public class User {

     public String uid;
public String name;
public short age; public String getUid() {
return uid;
}
public void setUid(String uid) {
this.uid = uid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public short getAge() {
return age;
}
public void setAge(short age) {
this.age = age;
}
}

Student对象:

 public class Student {

     public String sid;
public String name;
public String sex;
public int age; public String getSid() {
return sid;
}
public void setSid(String sid) {
this.sid = sid;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}

2018-7-9 更新字段类型不同的说明

上一篇:[Xpand] Error 1 Invalid option '6' for /langversion; must be ISO-1, ISO-2, 3, 4, 5 or Default


下一篇:CentOS系统下安装配置ftp服务