`
fire314159
  • 浏览: 30716 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

关于javabean的属性深拷贝

阅读更多
目前正在写类似于beanutils.describe的方法。也就是将一个javabean的所有可读属性用hashmap返回。之所以要重写,是因为观察过他的源代码,发现beanutils返回的hashmap里面全部属性值都是以String来存放。而目前我们的需求是,按照原来bean属性的类型来存放。当其中bean属性不是基本类型,而是类对象的话,存放在hashmap的值还必须是deep copy,也就是说,不能简单的把bean属性的对象引用存放进去.因为不想caller修改hashmap里面的值的时候影响到原来的javabean.

各位有什么好的方法?
分享到:
评论
1 楼 无聊神灯 2007-08-07  
PropertyUtils

相关推荐

    Dozer一个JavaBean至JavaBean映射器

    同时,Dozer允许配置映射行为,如是否忽略空值、是否启用深拷贝等,以适应不同的性能需求。 ### 9. 结合Spring框架 在Spring框架中,Dozer可以与Spring的依赖注入结合使用,提供更便捷的对象映射解决方案。通过...

    java值拷贝

    这个主题涉及到Java中的浅拷贝和深拷贝概念,以及如何利用工具库如Apache Commons BeanUtils进行对象属性的便捷复制。 Apache Commons BeanUtils是一个非常实用的Java库,它提供了一系列方法来简化JavaBean的操作,...

    BeanUtils.rar

    4. `nested*`方法:如`nestedGetProperty()`和`nestedSetProperty()`,这些方法允许处理嵌套的JavaBean属性,如`person.address.city`这样的路径。 5. `Descriptor`类:提供了一个接口来获取JavaBean的属性描述,...

    beanUtils , CopyProperty

    3. **深拷贝与浅拷贝**:`copyProperties`执行的是浅拷贝,即只复制对象的直接属性,不包括嵌套对象。如果对象的属性是另一个对象的引用,那么拷贝后源对象和目标对象将共享这个引用。 4. **可配置性**:BeanUtils...

    commons-beanutils-1.8.0

    通过`PropertyUtils.getProperty()`和`PropertyUtils.setProperty()`方法,可以实现对JavaBean属性的读写操作。 2. **类型转换**:BeanUtils具有自动类型转换的能力,它可以将字符串、数字等不同类型的值转换为...

    commons-beanutils

    3. **属性拷贝**:`BeanUtils.copyProperties()`方法可以将一个对象的所有属性值复制到另一个对象,实现对象间的深拷贝或浅拷贝。 4. **类型转换**:BeanUtils还提供了自动类型转换的功能,当赋值的类型与属性类型...

    java深度复制源代码

    - **导入语句**:包含了反射相关的包(如`java.lang.reflect`),集合操作包(如`java.util`),以及第三方库Apache Commons BeanUtils中的`BeanUtilsBean`类,用于处理JavaBean属性。 ##### 2. **类定义与注释** `...

    dozer5.2 jar包

    1. `commons-beanutils-1.7.0.jar`:这是Apache Commons BeanUtils库,它提供了一组工具方法,用于处理JavaBean属性,使得开发者可以更方便地操作对象的属性。 2. `commons-collections.jar`:Apache Commons ...

    Java语言的反射机制

    其`copy(Object object)`方法通过反射实现了对象的深拷贝。首先获取对象的类型,然后通过默认构造方法创建新对象,接着获取所有属性,遍历这些属性并使用对应的get和set方法复制属性值。注意,此方法仅适用于遵循...

    Commons-beanutils.rar

    - **复制Bean**:能够深拷贝或浅拷贝一个Bean的所有属性到另一个Bean,方便数据传递。 - **集合处理**:支持集合和数组的属性操作,如设置整个列表或数组的值。 - **动态属性**:允许在运行时动态创建和修改Bean...

    commons-beanutils-1.8.0.jar

    3. **属性复制**:BeanUtils.copyProperties()方法可以实现两个JavaBean之间属性的深拷贝或浅拷贝,大大简化了对象间的属性迁移。 4. **集合操作**:支持集合属性的处理,例如将一个数组或列表的值分配给JavaBean的...

    Apache Commons 工具类介绍及简单使用.pdf

    如示例代码所示,`BeanUtils.cloneBean()`可以用于创建JavaBean的一个深拷贝,而`BeanUtils.populate()`则可以将Map对象的键值对映射到JavaBean的属性上,简化了数据绑定的过程。 2. ** Codec**: 这个模块提供了...

    复杂的json字符串解析(真实案例)

    如果你关心性能或需要避免修改原始数据,可能需要手动实现深拷贝。 6. **效率**:虽然Gson功能强大,但解析大型JSON文件时可能会消耗大量内存和CPU资源。对于性能敏感的应用,可以考虑其他解析库,如Jackson或...

    JAVA EE实验二,官方推荐

    - 在源代码目录下创建一个名为“Xsb”的JavaBean类,包含属性xh(学号)和xm(姓名),并提供对应的getter和setter方法。这个类将作为数据模型,与视图和控制器交互。 5. **编写Action类**: - 创建`SaveAction`...

    java常用扩展工具jar包详解

    - 对象操作:如比较、深拷贝、转换等。 - 枚举处理:提供了对枚举类型的增强支持。 - 日期和时间处理:提供了对`java.util.Date`的增强操作,以及日期格式化等。 具体来说,`commons-lang.jar`中的一些关键类包括:...

    jsp源码

    在本压缩包中,你将获得一组免费的 **JSP源代码** ,无需复杂的配置,只需将其拷贝到 **Tomcat** 应用服务器的相应目录下,即可直接运行。 **Tomcat** 是Apache软件基金会的Jakarta项目中的一个核心项目,是一个...

    Hutool 参考文档.pdf

    克隆部分提供了支持泛型的克隆接口和克隆类,让开发者能够轻松实现对象的深拷贝。 类型转换涉及到了Convert工具类,它能够帮助开发者进行数据类型间的转换。而ConverterRegistry则用于注册自定义的类型转换器。 ...

    JavaSe总结

    浅拷贝只复制对象本身及其引用的地址,而深拷贝会复制对象及其引用的对象。 ### 流的过滤器 过滤器流(如`BufferedInputStream`和`BufferedOutputStream`)用于提高I/O操作的效率。 ### Java多线程编程概念 多线程...

    jAVA编程规范J2EE代码规范

    - 实现`Cloneable`接口并重写`clone()`方法以支持对象的深拷贝或浅拷贝。 9. **2.9 类方法** - 提供静态方法来执行不依赖于类实例的操作。 10. **2.10 toString方法** - 重写`toString()`方法以提供类实例的...

    Struts原理、开发及项目实施

    另外,Struts还提供了一系统实用对象:XML处理、通过Java reflection APIs自动处理JavaBeans属性、国际化的提示和消息等。 <br/> 7、一个实例 <br/> 一个用户注册系统,用户通过网页输入相关信息...

Global site tag (gtag.js) - Google Analytics