java 对象属性复制,将一个对象的属性值赋值给另一个对象, 属性名需要相同
关键代码:
import org.springframework.beans.BeanUtils;
BeanUtils.copyProperties(a, b);
demo:
package com.mypackage.server.test;
import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import org.springframework.beans.BeanUtils;
import java.sql.Date;
public class Test {
class A {
private String name;
private int age;
private double money;
private Date time;
private Timestamp dateTime;
private String remark;
public A(String name, int age, double money, Date time, Timestamp dateTime, String remark) {
super();
this.name = name;
this.age = age;
this.money = money;
this.time = time;
this.dateTime = dateTime;
this.remark = remark;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public Timestamp getDateTime() {
return dateTime;
}
public void setDateTime(Timestamp dateTime) {
this.dateTime = dateTime;
}
public String getRemark() {
return remark;
}
public void setRemark(String remark) {
this.remark = remark;
}
@Override
public String toString() {
return "A [name=" + name + ", age=" + age + ", money=" + money + ", time=" + time + ", dateTime=" + dateTime
+ ", remark=" + remark + "]";
}
}
class B {
private String name;
private int age;
private double money;
private Date time;
private Timestamp dateTime;
private String remarkx;
public B(String name, int age, double money, Date time, Timestamp dateTime, String remarkx) {
super();
this.name = name;
this.age = age;
this.money = money;
this.time = time;
this.dateTime = dateTime;
this.remarkx = remarkx;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getMoney() {
return money;
}
public void setMoney(double money) {
this.money = money;
}
public Date getTime() {
return time;
}
public void setTime(Date time) {
this.time = time;
}
public Timestamp getDateTime() {
return dateTime;
}
public void setDateTime(Timestamp dateTime) {
this.dateTime = dateTime;
}
public String getRemarkx() {
return remarkx;
}
public void setRemarkx(String remarkx) {
this.remarkx = remarkx;
}
@Override
public String toString() {
return "B [name=" + name + ", age=" + age + ", money=" + money + ", time=" + time + ", dateTime=" + dateTime
+ ", remarkx=" + remarkx + "]";
}
}
public static void main(String[] args) {
Long time = System.currentTimeMillis();
Test t = new Test();
A a = t.new A("佑灵",18,9000,new Date(time),new Timestamp(time),"左岭大陆");
B b = t.new B("灵茵茵",16,6000,new Date(time),new Timestamp(time),"星灵大陆");
System.out.println(a.toString());
System.out.println(b.toString());
BeanUtils.copyProperties(a, b);
System.out.println("A========"+a.toString());
System.out.println("B========"+b.toString());
}
}
输出:
A [name=佑灵, age=18, money=9000.0, time=2020-03-20, dateTime=2020-03-20 09:31:06.474, remark=左岭大陆]
B [name=灵茵茵, age=16, money=6000.0, time=2020-03-20, dateTime=2020-03-20 09:31:06.474, remarkx=星灵大陆]
A========A [name=佑灵, age=18, money=9000.0, time=2020-03-20, dateTime=2020-03-20 09:31:06.474, remark=左岭大陆]
B========B [name=佑灵, age=18, money=9000.0, time=2020-03-20, dateTime=2020-03-20 09:31:06.474, remarkx=星灵大陆]
出处:http://www.cnblogs.com/gczmn/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章的页面明显位置给出原文连接,否则视为侵权,作者保留追究法律责任的权利。