首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java对象复制和属性值复制工具类

两个不同类型的对象中有字段名称不区分大小写的情况下一样,字段含义一样,需要组装到另一个对象中去,然后就写了一个这种工具类 我的类型比较特殊,老系统和新系统的对象命名大小写命名不一致,并且字段相同类型也有不一致的情况...则完全可以用commons-beanutils包或者spring包中 的BeanUtils工具类中的copey属性方法。...(CopyBeanUtil.class); /** * 复制sour里属性不为空的值到obje为空的属性 * * @param obje 目标实体类 * @param sour 源实体类 *...@param isCover 是否保留obje类里不为null的属性值(true为保留源值,属性为null则赋值) * @return obje */ public static Object Copy...copy 复制sour里属性和obje里属性值忽略大小写相同的 ,不为空的值赋值到obje里 * 如果存在属性复杂类型并为有效值慎用或改进 * * @param obje * @param sour

1.4K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Java比较两个对象中属性值是否相同【使用反射实现】

    在工作中,有些场景下,我们需要对比两个完全一样对象的属性值是否相等。比如接口替换的时候,需要比较新老接口在相同情况下返回的数据是否相同。这个时候,我们怎么处理呢?...这里凯哥就使用Java的反射类实现。.../**  * 字段比较  * @param vo1       主项  * @param vo2       比较项  */ private void compareFiledValue(DownTempMsg...; import java.util.regex.Matcher; import java.util.regex.Pattern; /**  * 属性反射  * @author kaigejava  ... 方法         Method setMethod = pd.getWriteMethod();         try {             // 调用 set 方法将传入的value值保存属性中去

    3.6K30

    java 反射机制--根据属性名获取属性值

    1.考虑安全访问范围内的属性,没有权限访问到的属性不读取 [java] view plain copy /**      * 根据属性名获取属性值      *       * @param fieldName...)field.get(object);          } catch (Exception e) {   return null;          }       }   2.不考虑从祖先类继承的属性...,只获取当前类属性,包括四类访问权限,private,protect,default,public [java] view plain copy /**     * 根据属性名获取属性值     *  ...String)field.get(object);         } catch (Exception e) {   return null;         }      }    3.考虑父类继承过来的属性...,包括四类访问权限,private,protect,default,public [java] view plain copy /**   * 根据属性名获取属性元素,包括各种安全范围和所有父类

    5.3K20

    Java 比较器 和 包装类

    Java比较器 背景: 在Java中经常会涉及到多个对象的排序问题,那么就涉及到对象之间的比较 Java中的对象, 正常情况下, 只能进行比较 == 比较对象地址值,是否相同 !...= 比较对象地址值,是否相同,取反~ 不能使用 > 或 < 的 但是在开发场景中,我们需要对多个对象进行排序,言外之意,就需要比较对象的大小 以 JD 商城举例场景: 查询商品可以对商品进行...compareTo(obj)方法 ** 默认都是从小到大排序 String:按照字符串中字符的Unicode值进行比较 Character:按照字符的Unicode值来进行比较 数值类型对应的包装类以及...new ArrayList(); 正常 包含了每种基本类型的相关属性,如最大值,最小值,所占位数等常用方法()… 作为基本数据类型, 有时候我们想要进行一些对象的操作, 基本数据类型...是java提供的8种原始数据类型之一 Java为每个原始类型提供了封装类,Integer是java为int提供的封装类 int的默认值为0 Integer的默认值为null **即Integer

    10010

    Java类库之比较器(重点)

    比较器(重点) 如果现在要想为一组对象进行排序,那么必须有一个可以区分出对象大小的关系操作,而这个操作在Java之中就是利用比较器完成的。...常用比较器:Comparable(核心) 如果要为对象指定比较规则,那么对象所在的类必须实现Comparable接口,下面首先来看一下这个接口的定义: public interface Comparable... { public int compareTo(T o); } 根据文档的要求:要排序的数组所在的类一定要实现此接口,此接口返回的是int型数据,而用户覆写此方法的时候只需要返回三种结果:1(>...范例:实现比较器 package com.pku.wuyu.io; import java.util.Arrays; class Person implements Comparable 比较器Comparable。

    78700

    【Java 类】002-类、属性、方法、代码块

    【Java 类】002-类、属性、方法、代码块 一、类 1、类与对象 在面向对象编程中,类(Class)是一种用户定义的数据类型,用于描述对象的属性和方法。...类定义了对象的属性和方法,属性表示对象的特征或状态,方法表示对象的行为或功能。在 Java 中,类是一种引用类型,它定义了一组属性和方法,并且可以通过关键字 new 创建多个对象。...数据类型扩展:Java 提供了基本数据类型,但是有时候需要使用自定义的数据类型,类可以用来定义自定义数据类型,扩展 Java数据 类型的能力。...准备(Preparation):为类的静态变量分配内存空间,并设置默认值(0、false、null 等)。...返回类型:方法的返回值类型,可以是任何 Java 数据类型,包括基本数据类型、对象类型和数组类型。

    8510

    初识JAVA:Java类库之比较器(重点)

    比较器(重点) 如果现在要想为一组对象进行排序,那么必须有一个可以区分出对象大小的关系操作,而这个操作在Java之中就是利用比较器完成的。...常用比较器:Comparable(核心) 如果要为对象指定比较规则,那么对象所在的类必须实现Comparable接口,下面首先来看一下这个接口的定义: public interface Comparable... { public int compareTo(T o); } 根据文档的要求:要排序的数组所在的类一定要实现此接口,此接口返回的是int型数据,而用户覆写此方法的时候只需要返回三种结果:1(>...范例:实现比较器 package com.pku.wuyu.io; import java.util.Arrays; class Person implements Comparable <Person...Arrays.sort(per) ; // 排序 System.out.print(Arrays.toString(per)); } } 以后不管是何种情况下,只要牵扯到对象数组排序的操作,永远都是比较器

    51510

    Java基础(十八):java比较器、系统相关类、数学相关类

    Java基础(十六):String的常用API Java基础(十七):日期时间API Java基础(十八):java比较器、系统相关类、数学相关类 Java基础(十九):集合框架 Java基础(二十)...、构造器引用 Java基础(二十六):Java8 Stream流及Optional类 一、Java比较器 1、自然排序:java.lang.Comparable Comparable接口强行对实现它的每个类的对象进行整体排序...Character:按照字符的Unicode值来进行比较 数值类型对应的包装类以及BigInteger、BigDecimal:按照它们对应的数值大小进行比较 Boolean:true 对应的包装类实例大于...1、java.lang.System类 System类代表系统,系统级的很多属性和控制方法都放置在该类的内部。...key的属性对应的值 系统中常见的属性名以及属性的作用如下表所示 举例: @Test public void test1() { String javaVersion = System.getProperty

    7710

    Java包、类、属性命名规范

    由于Java面向对象的特性,每个Java开发人员都可以编写属于自己的包,为了保障每个包命名的唯一性,在最新的Java编程规范中,要求开发人员在自己定义的包名钱加上唯一的前缀。...例如:com.srrui.base.类 个人项目包的推荐命名: indi:个人项目,指个人发起,但非自己独自完成的项目,可以公开或私有项目,版权主要属于发起者。...例如:包命名 com.公司名.项目名.模块名*.*.* 2、类名 类名命名,推荐单词的首字母大写。...如果类名称由多个单词组成,则每个单词的首字母均应为大写,例如:TesePage; 如果类名中包含单词缩写,则这个所写词的每个字母均应大写,例如:XMLExample,还有一点命名技巧就是由于类是设计用来代表对象的...,所以在命名类时应尽量选择名词,例如:Graphics 3、方法名 首字母小写,如果是由多个单词组成的画,每一个单词的首字母小写,其余单词首字母大写。

    2.1K30
    领券