背景
@Data
public class A{
private BigDecimal a;
}
@Data
public class B{
private String b;
}
A a = new A();
B b = new B();
a.setA(new BigDecimal("10.01"));
BeanUtils.copyProperties(b,a);
System.out.println(a.getB());
运行:
null
因类型不一致,所以数据复制失败
解决
使用fastJson
导入依赖
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.78</version>
</dependency>
b = JSONObject.parseObject(JSONObject.toJSONString(a),B.class);