`

beanutils

    博客分类:
  • JAVA
F# 
阅读更多
/**
*
* @author lixueli
* beanutils包及isAssignableFrom方法测试
* public boolean isAssignableFrom(Class<> cls)判定此 Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,
* 或是否是其超类或超接口。如果是则返回 true,否则返回 false。如果该 Class 表示一个基本类型,且指定的 Class 参数正是该 Class 对象,
* 则该方法返回 true,否则返回 false。
*
* BeanUtils.copyProperties(p2, p1);把一个对象中的属性copy到令一个对象有相同属性名的属性
*
* ArrayList<String> list=(ArrayList<String>)PropertyUtils.getProperty(p2, "phone");
* PropertyUtils.getProperty取得对象的属性能够转化为对象,而BeanUtils则不可以
*/
public class BeanUtilsTest02 {
@Test
public void testIsAssignableFrom() {
   Person p = new Person();
   Field[] fields = p.getClass().getDeclaredFields();
   for (Field f : fields) {
      Class<?> type = f.getType();
      if(List.class.isAssignableFrom(type)){
      assertTrue(List.class.isAssignableFrom(type));
     }
   }
   assertTrue(Object.class.isAssignableFrom(String.class));
   assertFalse(String.class.isAssignableFrom(Object.class));
   assertTrue(Object.class.isAssignableFrom(Object.class));
  }
@SuppressWarnings("unchecked")
@Test
public void testCopyProperties()throws Exception {
   Person p1=new Person();
   Person p2=new Person();
   List<String> phone=new ArrayList<String>();
   phone.add("151");
   phone.add("136");
   p1.setName("lixueli");
   p1.setAddr("中国");
   p1.setPhone(phone);
   BeanUtils.copyProperties(p2, p1);
   ArrayList<String> list=(ArrayList<String>)PropertyUtils.getProperty(p2,"phone");
   assertEquals("lixueli",p2.getName());
   assertEquals("中国",p2.getAddr());
   assertEquals("lixueli",BeanUtils.getProperty(p2, "name"));
   assertEquals("中国",BeanUtils.getProperty(p2, "addr"));
   assertEquals("151",list.get(0));
 }
}
 
 Person.class
 
import java.util.ArrayList;
import java.util.List;
public class Person {
    private String name;
    private String addr;
    private List<String> phone=new ArrayList<String>();
    public String getName() {
    return name;
    }
    public void setName(String name) {
    this.name = name;
    }
    public String getAddr() {
         return addr;
    }
    public void setAddr(String addr) {
        this.addr = addr;
    }
    public List<String> getPhone() {
        return phone;
    }
    public void setPhone(List<String> phone) {
        this.phone = phone;
    }
}
分享到:
评论

相关推荐

    commons-beanutils-1.8.3和commons-beanutils-1.8.0

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于处理JavaBeans对象,简化对JavaBean属性的操作。这个库提供了一套方便的API,使得开发者可以通过简单的API调用来获取、设置JavaBean的属性,甚至...

    commons-beanutils-1.9.4-API文档-中文版.zip

    赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...

    commons-beanutils-1.9.4-API文档-中英对照版.zip

    赠送jar包:commons-beanutils-1.9.4.jar; 赠送原API文档:commons-beanutils-1.9.4-javadoc.jar; 赠送源代码:commons-beanutils-1.9.4-sources.jar; 赠送Maven依赖信息文件:commons-beanutils-1.9.4.pom; ...

    commons-beanutils-1.9.4.jar.zip

    Apache Commons BeanUtils是Java开发中的一个实用库,它提供了对JavaBeans属性的简便操作。这个库简化了在对象之间复制属性、处理集合以及调用JavaBean方法的过程。在这个"commons-beanutils-1.9.4.jar.zip"压缩包中...

    commons-beanutils-1.9.2下载

    Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans进行操作的便捷方法。这个库的主要目的是简化对对象属性的访问,使得开发者能够更高效地处理对象的属性设置和获取,而无需手动编写大量...

    commons-beanutils-1.9.4

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了大量便捷的JavaBean操作功能。在本文中,我们将深入探讨`commons-beanutils-1.9.4`这个版本,了解其核心功能、使用场景以及如何在项目...

    beanutils 1.8 jar包+源码_阿锦—小白

    BeanUtils是Apache Commons项目中的一个核心库,主要提供了一组工具方法来简化Java Bean的操纵。这个1.8版本的jar包和源码是开发者在处理Java对象属性时的得力助手,尤其对于那些需要频繁进行对象属性设置和获取的...

    commons-beanutils所有版本(1.0-1.9.2).zip

    Apache Commons BeanUtils是Java开发中的一个实用工具库,它提供了对JavaBeans属性操作的强大功能,极大地简化了在Java代码中处理对象属性的工作。这个压缩包文件"commons-beanutils所有版本(1.0-1.9.2).zip"包含了...

    commons-beanutils-1.9.3.jar

    Apache Commons BeanUtils是Java开发中的一个实用工具库,主要用于简化对JavaBean的操作。这个`commons-beanutils-1.9.3.jar`文件是该库的一个版本,它提供了丰富的API来帮助开发者更方便地处理JavaBean对象。在这个...

    commons-beanutils-1.8.0-src

    《Apache Commons BeanUtils:深入解析源码》 Apache Commons BeanUtils是Java开发中常用的一个工具库,它提供了方便的Bean操作方法,简化了Java对象属性的访问和设置。本篇文章将深入探讨`commons-beanutils-1.8.0...

    Commons BeanUtils 1.8.3 API

    Apache Commons BeanUtils 1.8.3 是一个强大的Java库,专为简化Java Bean操作而设计。这个API提供了大量的实用工具方法,使得开发者能够更加便捷地处理Java对象,特别是那些符合Java Bean规范的对象。在Java编程中,...

    Bean复制的几种框架性能比较(Apache BeanUtils、PropertyUtils,Spring BeanUtils,Cglib BeanCopier

    这篇文章将对比分析Apache BeanUtils、PropertyUtils、Spring BeanUtils以及Cglib BeanCopier这四个常用的Bean复制工具的性能和特点。 首先,Apache BeanUtils是Apache Commons项目的一部分,提供了一系列便捷的...

    BeanMapper:比BeanUtils.copyProperties更快

    一个BeanUtils.copyProperties的小型快速替代。 起因 由于BeanUtils(Spring或Apache Commons)的copyProperties实现是利用反射实现的,它在大量调用时具有比较严重的性能问题。 BeanMapper通过javassist类库实现在...

    org.apache.commons.beanutils.jar

    《Apache Commons BeanUtils详解》 Apache Commons BeanUtils是Apache软件基金会的一个开源项目,它提供了一组实用工具类,用于简化JavaBean对象的操作。这个库的核心是`org.apache.commons.beanutils`包,其中包含...

    beanutils的jar包

    Apache Commons BeanUtils是Java开发中一个非常实用的工具库,主要功能是简化JavaBean对象的操作。这个"beanutils的jar包"是1.93版本,它包含了对bean操作的各种方法,同时也集成了log包,方便开发者进行日志记录,...

    commons-beanutils 源码

    《深入解析Apache Commons BeanUtils源码》 Apache Commons BeanUtils是Java开发中广泛使用的工具库,主要用于处理JavaBean对象的属性操作。这个库的核心功能在于简化了JavaBean对象的属性设置、获取以及复制等操作...

    commons-beanutils-1.8.3.jar.zip

    《深入解析Apache Commons BeanUtils库》 Apache Commons BeanUtils库是Java开发中广泛使用的工具集,主要用于处理JavaBean对象的属性操作。这个库提供了一系列简便的方法,使得开发者能够轻松地进行对象属性的读取...

    commons-beanutils-1.8.0

    《Apache Commons BeanUtils 1.8.0:深入解析与应用》 Apache Commons BeanUtils库是Java开发中不可或缺的一部分,尤其对于那些频繁处理JavaBeans属性的开发者来说。它提供了便捷的方式来操作Java对象的属性,极大...

    commons-beanutils-1.8.2-src官方源文件,是你学习beanutils工具的必备资料

    Apache Commons BeanUtils是Java开发中一个非常重要的工具库,它为开发者提供了方便的Java Bean操作接口。这个"commons-beanutils-1.8.2-src"官方源文件包,是学习和理解BeanUtils核心功能的宝贵资源。在这个版本中...

    commons-beanutils-1.9.3-API文档-中英对照版.zip

    赠送jar包:commons-beanutils-1.9.3.jar; 赠送原API文档:commons-beanutils-1.9.3-javadoc.jar; 赠送源代码:commons-beanutils-1.9.3-sources.jar; 包含翻译后的API文档:commons-beanutils-1.9.3-javadoc-...

Global site tag (gtag.js) - Google Analytics