Java类赋值的使用方式

Posted 励志SQA女

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java类赋值的使用方式相关的知识,希望对你有一定的参考价值。

        Regioninfo regioninfo=new Regioninfo();
        regioninfo.setDistance(0);
        regioninfo.setInside(1);
        regioninfo.setShopid(2428069);
        regioninfo.setType(5);
        regioninfo.setRecalltype(0);
        regioninfo.setShopname("泼水广场");

        Regioninfo regioninfo2=regioninfo;
        regioninfo2.setDistance(1000);

 

期望的结果的是regioninfo.getDistance()=0; regioninfo2.getDistance()=1000;

但是运行的结果是:

 

因为引用传递,变更某个属性会让两个值都发生变化,在内存中两个类公用同一个存储。

如果想直接copy 某个类的属性,但是又有变更的话,可以使用 :BeanUtils.copyProperties(目标类,源类);

        Regioninfo regioninfo=new Regioninfo();
        regioninfo.setDistance(0);
        regioninfo.setInside(1);
        regioninfo.setShopid(2428069);
        regioninfo.setType(5);
        regioninfo.setRecalltype(0);
        regioninfo.setShopname("泼水广场");

        Regioninfo regioninfo2=new Regioninfo();
        BeanUtils.copyProperties(regioninfo2,regioninfo);
        regioninfo2.setDistance(10000);

 

 

以上是关于Java类赋值的使用方式的主要内容,如果未能解决你的问题,请参考以下文章

elasticsearch代码片段,及工具类SearchEsUtil.java

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

如何从 Android Studio 中片段的 XML 布局导航到相应的 java 类?

请问java构造函数如何初始化成员变量的啊?

JAVA之AOP

Java反射机制详解