`
左博涯
  • 浏览: 60595 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

复制两个不同类的对象的属性

阅读更多

Apache的开源包BeanUtils用来复制两个对象的属性,要使用这个Apache的开源包,要先去官网下载commons-beanutils-1.X.jar包,http://www.apache.org/ 然后点击Apache Projects下面的链接Commons,可以找到链接BeanUtils,点击进入后就可以看到下载了。 ——BeanUtils.copyProperties()与PropertyUtils.copyProperties()用法及区别,例如静态方法 public static void copyProperties(java.lang.Object dest,java.lang.Object orig), BeanUtils对相同名称相同类型的属性从“orig”对象复制到“dest” 对象,不同名的属性不进行处理,另外java.util.Date类型的属性是不被支持的,而它的子类java.sql.Date是被支持的。因此如果对象包含时间类型的属性,且希望被转换的时候,一定要使用java.sql.Date类型,否则在转换时会提示argument mistype异常。

 PropertyUtils的工具类,它也提供copyProperties()方法,作用与 BeanUtils的同名方法十分相似,主要的区别在于后者提供类型转换功能,即发现两个JavaBean的同名属性为不同类型时,在支持的数据类型范围内进行转换,而前者不支持这个功能,但是速度会更快一些。

 

这个方法经常用于MVC模式下,PO实体对象与VO显示对象之间的复制,因为这两个对象之间大多数的属性是一致的。

分享到:
评论

相关推荐

    两个对象属性值的拷贝和文件的拷贝

    实现了两个对象之间属性值的拷贝,只要具有相同的属性名就可以拷贝,还有两个file对象的拷贝,实现文件的复制功能

    java不同对象及集合的多次复制

    这样,两个对象完全独立,互不影响。 2. **Java中的对象复制方法** - **clone()方法**:Java的Object类提供了一个`clone()`方法,但默认实现是浅拷贝。如果需要深拷贝,需要在每个需要复制的对象类中实现`...

    MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象

    这篇博文“MyBatisDemo && JAVA把一个对象的全部属性复制到另一个相同的对象”探讨的是如何在Java编程中实现对象属性的深度复制。MyBatis是一个流行的Java持久层框架,它简化了数据库操作,而对象复制则是处理业务...

    基于java8新特性+反射机制实现list不同实体类互转.zip

    例如,如果源实体类有一个`name`字段,目标实体类也有一个`name`字段,我们可以通过反射找到这两个字段并进行赋值。 在实现过程中,我们可以创建一个工具类,如`ListConvertUtil`,并在其中定义静态方法,如`...

    实验4 类与对象

    类中还有两个公有成员函数`run`和`stop`,分别用于模拟CPU的启动和停止。在构造函数中,我们初始化了频率和电压,并输出了一条消息,表示构造函数被调用。析构函数则在对象销毁时被调用,同样输出一条消息。`run`...

    java 对象克隆

    因此,对这些引用的修改会影响到两个对象。相反,深克隆不仅复制了对象本身,还递归地复制了所有引用的对象,确保新对象与原对象完全独立。 二、实现克隆的方式 1. 实现Cloneable接口 Java中的Object类提供了一个`...

    c++ 类与对象课件,包括对象的初始化,对象的使用,构造函数和析构函数等等

    浅拷贝(Shallow Copy)仅仅复制对象的数据成员的值,而不复制动态分配的内存,可能导致两个对象共享同一块内存,改变一个对象会影响到另一个。深拷贝(Deep Copy)则会为每个对象分配独立的内存,确保对象的独立性...

    Java实现不同的类的属性之间相互赋值

    例如,我们有两个类,ClassTestCopy1 和 ClassTestCopy2,它们之间有相同的属性名和类型,也有不同的属性名和类型。在这个例子中,我们可以使用 Java 的反射机制来实现属性之间的赋值。 首先,我们需要定义两个类,...

    类继承与对象复制的细节.zip_类继承与对象复制的细节

    在编程世界中,类继承和对象复制是两个基础但至关重要的概念,它们构成了面向对象编程的核心。本资料详细探讨了这两个主题,旨在帮助开发者更好地理解和应用这些知识点。 类继承是面向对象编程的一个特性,它允许...

    BeanUtilsBean对象复制使用(类型可以自动转化)

    对象复制是指将一个对象的属性值复制到另一个对象的过程,通常用于创建新对象或者初始化对象。`BeanUtilsBean.copyProperties()`方法是实现此功能的关键,它允许我们将一个JavaBean的所有属性值复制到另一个具有相同...

    jQuery实现简单复制json对象和json对象集合操作示例.docx

    1. **浅拷贝**:当仅传递两个对象作为参数时,`jQuery.extend(target, source)`,`target` 对象将接收 `source` 的属性,但不会改变原始对象。如果 `source` 和 `target` 有相同的属性,`source` 的属性值会覆盖 `...

    C#两个相同属性的类赋值方法

    本文将深入探讨如何在C#中实现两个具有相同属性的类之间的赋值方法,特别是使用反射技术进行赋值。 首先,让我们分析提供的代码片段: ```csharp public static D Mapper, S>(S s) { D d = Activator....

    java对象复制克隆

    在Java编程中,对象复制和克隆是两个重要的概念,特别是在处理复杂数据结构时。对象复制通常分为浅拷贝和深拷贝。标题中的“java对象复制克隆”主要涉及的是深拷贝,这是一种创建一个新对象的方式,新对象不仅复制...

    reflection给相同对象赋值

    当需要为相同类的两个对象赋值时,通常我们会直接调用拷贝构造函数或实现`clone()`方法。然而,如果类没有提供这些功能,或者我们希望动态地处理多个类的赋值操作,反射就派上用场了。 以下是使用反射进行对象赋值...

    idea插件实现自动set属性拷贝

    (Student2)student //在这个表达式(记得光标在表达式里面哦)按下alt+Enter,选中“哟嚯。。。好爽啊”就能自动生成下面代码 Student2 student2=new Student2(); student2.setFiled1(student.getFiled1()); ...

    复制对象(二)<NSCopying>协议和属性的copy特性对应的Demo

    当一个对象的`copy`属性被设置时,它会创建该对象的一个副本,这个副本通常是一个浅拷贝(shallow copy),除非对象实现了`NSCopying`协议并返回深拷贝(deep copy)。浅拷贝只复制对象本身,而不复制它所包含的对象...

    通过构造及反射实现类属性赋值

    在Java编程中,有时我们需要对一个对象的属性进行深度赋值,即将源对象的所有属性值复制到目标对象中,而不是简单地让两个对象共享同一内存引用。标题中的“通过构造及反射实现类属性赋值”涉及到的技术是Java的构造...

    文件复制工具类

    这两个类分别用于读取和写入文件。通过创建输入流对象读取源文件,然后创建输出流对象写入目标文件,可以实现文件的复制。 2. 字节流与缓冲区:为了提高效率,通常会使用BufferedInputStream和BufferedOutputStream...

    用于对象间的复制

    这个库通过提供简洁的API,使得开发者可以轻松地将一个对象的属性复制到另一个对象中。这样的工具大大提高了代码的可读性和维护性,同时也减少了因手动复制逻辑出错的可能性。 深入探究这个库,它可能包含了一系列...

    JS 对象,属性

    在JS中,每个对象都有一个隐式原型属性 `__proto__`,指向创建它的构造函数的原型。这使得对象可以继承其他对象的属性和方法。通过 `prototype` 属性,可以在构造函数的原型上定义共享属性和方法。 六、属性的描述...

Global site tag (gtag.js) - Google Analytics