赞
踩
一、目的:调研BeanUtils.copyProperties(source, target)、BeanUtil.copy(Object source, Object target)、Convert.convert(Class<T> target, Object source)拷贝方法的使用效果。
二、结论:
1、BeanUtils.copyProperties(Object source, Object target)方法,及BeanUtil.copy(Object source, Object target)方法,在字段名及字段类型都相同时将source字段值复制给target。两者效果相同,复制后修改任意一方,不会修改另一方。
2、Convert.convert(Class<T> target, Object source)方法,只要字段名相同就将source字段值复制给target。当source和target的对象相同时,若使用Convert.convert(Class<T> target, Object source)方法复制后,修改任意一方,另一方会被修改。
三、以下代码有助于理解~
1、新建实体类Test1
- package com.wh.entity;
-
- import lombok.Data;
-
- import java.math.BigDecimal;
-
- @Data
- public class Test1 {
- private Long id;
- private String name;
- private String post;
- private int workYear;
- private BigDecimal salary;
- private String remark;
- }
2、实体类Test2(Test2中workYear与Test1数据类型不同,Test2比Test1多了age,你觉得这两个字段的复制效果会怎样呢?)
- package com.roshi.erp.entity;
-
- import lombok.Data;
-
- import java.math.BigDecimal;
-
- @Data
- public class Test2 {
- private Long id;
- private String name;
- private String post;
- private Double workYear;
- private BigDecimal salary;
- private String remark;
- private int age;
- }
3、举个栗子
public static void main(String[] args
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。