BeanUtils中copyProperties的使用[通俗易懂]

BeanUtils中copyProperties的使用[通俗易懂]BeanUtils中copyProperties的作用是将一个对象中的属性值赋值(拷贝)给另一个对象中对应的属性。其中赋值成功的属性对应的属性名和属性类型必须相同,否则对应的属性值不会从一个对象赋值给另一个对象,但是此时不影响其他属性值的拷贝。1、实体类publicclassModel01{privateStringname;privateintage;

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

BeanUtils中copyProperties的作用是将一个对象中的属性值赋值(拷贝)给另一个对象中对应的属性,并且对象之间可以没有任何联系。其中赋值成功的属性对应的属性名和属性类型必须相同,否则对应的属性值不会从一个对象赋值给另一个对象,但是此时不影响其他属性值的拷贝。具体如下所示。

1、实体类

public class Model01 {
    private String name;
    private int age;
    private String city;

    @Override
    public String toString() {
        return "Model01{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", city='" + city + '\'' +
                '}';
    }
}
public class Model02 {
    private String name;
    private String age;
    private String city;

    @Override
    public String toString() {
        return "Model02{" +
                "name='" + name + '\'' +
                ", age='" + age + '\'' +
                ", city='" + city + '\'' +
                '}';
    }
}

2、将符合条件的属性值全部从一个对象赋值给另一个对象——copyProperties(Object source, Object target)

public class App {
    public static void main( String[] args ) {
        Model01 model01 = new Model01();
        Model02 model02 = new Model02();
        model01.setName("jack66");
        model01.setAge(12);
        model01.setCity("gz");
        model02.setName("henry");
        model02.setAge("32");
        model02.setCity("sz");
        BeanUtils.copyProperties(model01,model02);
        System.out.println(model01);
        System.out.println(model02);
    }
}

打印结果

Model01{name='jack66', age=12, city='gz'}
Model02{name='jack66', age='32', city='gz'}

3、忽略某些属性的赋值——copyProperties(Object source, Object target, String… ignoreProperties)

public class App {
    public static void main( String[] args ) {
        Model01 model01 = new Model01();
        Model02 model02 = new Model02();
        model01.setName("jack66");
        model01.setAge(12);
        model01.setCity("gz");
        model02.setName("henry");
        model02.setAge("32");
        model02.setCity("sz");
        String[] ignoreProperties = {"name"};
        BeanUtils.copyProperties(model01,model02,ignoreProperties);
        System.out.println(model01);
        System.out.println(model02);
    }
}

打印结果

Model01{name='jack66', age=12, city='gz'}
Model02{name='henry', age='32', city='gz'}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186426.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月3日 下午12:46
下一篇 2022年10月3日 下午1:00


相关推荐

  • 【Custom Mutator Fuzz】简单Protobuf使用练习

    【Custom Mutator Fuzz】简单Protobuf使用练习前面两篇文章中已经讲解了protobuf的结构以及生成代码的分析,这篇文章简单的介绍一下protobuf的使用。这里主要跟着libprotobuf-mutator_fuzzing_learning项目进行结构感知模糊测试练习

    2025年8月31日
    7
  • 51单片机SG90舵机控制原理

    51单片机SG90舵机控制原理舵机三根线的接法:黄线接信号线,红线接vcc,褐色线接GND舵机控制原理:通过控制PWM来控制舵机转动的角度,关于PWM的知识可以去智能小车专栏进行学习,转动周期设置为20ms,控制高电平的时间来进行舵机转动的角度。对于180°舵机t=0.5ms——————-舵机会转动0°t=1.0ms——————-舵机会转动45°t=1.5ms——————-舵机会转动90°t=2.0ms——————-舵机会转动135°t=2.5ms——————-舵机会…

    2022年6月16日
    44
  • Spring Cloud入门操作手册(Hoxton)

    Spring Cloud入门操作手册(Hoxton)文章目录@[toc]springcloud介绍springcloud技术组成SpringCloud对比Dubbo一、service-服务二、commons通用项目新建maven项目pom.xmljava源文件pojoItemUserOrderserviceItemServiceUserServiceOrderServiceutilCookieUtilJsonUtilJso…

    2022年6月9日
    53
  • matlab语法 axis on,matlabaxis

    matlab语法 axis on,matlabaxis编程语言中文网今天精心准备的是《matlabaxis》,下面是详解!Matlab里axis这个函数怎么用,举个例子!axis函数可以用于操作普通的坐标属性(轴的缩放和外观)。比如:axis([xminxmaxyminymax]):可以设置当前坐标轴x轴和y轴的限制范围axis([xminxmaxyminymaxzminzmaxcmincmax])可以设置x,y…

    2022年6月13日
    39
  • SpringBoot——关于Cache缓存获取值后修改的问题「建议收藏」

    SpringBoot——关于Cache缓存获取值后修改的问题「建议收藏」SpringBoot——关于Cache缓存获取值后修改的问题

    2022年4月23日
    39
  • 强连通图的算法

    强连通图的算法有向图强连通分量的 Tarjan 算法 有向图强连通分量 在有向图 G 中 如果两个顶点间至少存在一条路径 称两个顶点强连通 stronglyconn 如果有向图 G 的每两个顶点都强连通 称 G 是一个强连通图 非强连通图有向图的极大强连通子图 称为强连通分量 stron

    2026年3月18日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号