现在的位置: 首页 > 综合 > 正文

BeanUtils介绍

2013年08月24日 ⁄ 综合 ⁄ 共 1231字 ⁄ 字号 评论关闭

使用BeanUtils工具类时,应先导入commons-beanutils.jar包
使用规则:
        BeanUtils.copyProperties(dest, orig)其中dest类和orig两个类中的属性数量,类型都可以不相同,但是,属性的名字要相同,如果两个名字相同而类型不相同的类属性copy值 时,如果类型无法转换("java"copy给一个Int型属性)则目标属性保持默认的值。
例如:
Person.java
public class Person {
    private double id; 
    private int name;
    public double getId() {
        return id;
    }
    public void setId(double id) {
        this.id = id;
    }
    public int getName() {
        return name;
    }
    public void setName(int name) {
        this.name = name;
    }

Student.java
public class Student {
    private int id;
    private String name;
    private String password;
    public int getId() {
        return id;
    }
    public void setId(int id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }
}
通过 BeanUtils.copyProperties(p,s)是可以将s中的值copy到p中的

 

 

BeanUtils与PropertyUtils的相同点:
  1、两个对象的同名方法的作用都是相同的。
  2、使用时都要引入commons-beanutils.jar包
  3、copy与被copy的两个对象的属性数量、名字可以不相同,但是set方法后的名字(字符串)要相同。

BeanUtis与PropertiesUtils的不同点:
   1、当两个类中的同名(get后的名字)属性的类型不相同时,BeanUtils会自动转换,转换不过来则保留目标类中属性的原来值,如果原来没有值,则给一个对应类型的初始化值,而PropertyUtils对象则不会转换的。
   2、PropertyUtils速度更快一些,而BeanUtils得速度比较慢

【上篇】
【下篇】

抱歉!评论已关闭.