开发手册 欢迎您!
软件开发者资料库

Java BeanUtils - BeanUtils和ConvertUtils

Java BeanUtils BeanUtils和ConvertUtils - 从简单和简单的步骤学习Java BeanUtils,从基本到高级概念,包括概述,背景,基本,嵌套属性访问,自定义内省,抑制属性,BasicDynaBeans,ResultSetDynaClass,RowSetDynaClass,WrapDynaBean,Lazy DynaBeans, BeanUtils和ConvertUtils,创建自定义转换器,区域设置感知转换,比较Bean,操作集合,查询或过滤集合,转换集合,标准JavaBeans,动态Bean(DynaBeans),数据类型转换,实用程序对象和类,集合。

描述

BeanUtils 被定义为用于填充JavaBeans属性的实用程序方法和 ConvertUtils 方法转换字符串对象的标量值,字符串数组到指定类的数组.

BeanUtils

BeanUtils 通过使用setter方法接受字符串值,并自动将它们转换为适合Java基元的属性类型,并使用getter方法进行反向转换. populate()方法接受来自 java.util.HashMap 的一组属性值,并在bean包含具有相同名称的属性时使用合适的setter.

示例

以下示例显示了BeanUtils属性的用法:

import java.util.HashMap;import org.apache.commons.beanutils.BeanUtils;public class Test {    @SuppressWarnings("unchecked")    public static void main(String[] args){        @SuppressWarnings("rawtypes")        HashMap map = new HashMap();        map.put("username","admin");        map.put("password","secret");        map.put("age","52");                User bean = new User();        try{              BeanUtils.populate(bean,map);        }catch(Exception e){              e.printStackTrace();        }                System.out.println("Username: "+bean.getUsername());        System.out.println("Password: "+bean.getPassword());        System.out.println("Age: "+bean.getAge());    }}

现在我们将创建另一个名为User.java的类,如下所示:

public class User {    private String username;    private String password;    private String age;        public String getUsername(){        return username;    }        public void setUsername(String username){        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password){        this.password = password;    }    public String getAge() {        return age;    }    public void setAge(String age){        this.age = age;    }}

输出

让我们执行以下步骤看看上面的代码如何工作:

  • 将上面的第一个代码保存为Test.java.

  • 现在使用"运行"选项或Ctrl + f11执行代码并显示如下输出.

BeanUtils and ConvertUtils

ConvertUtils

Apache Commons BeanUtils 是一个库,它带有许多转换器,可以转换为不同的数据类型,也包含 ConvertUtils 实用程序类,它使用这些转换器.

示例

以下示例显示使用 ConvertUtils 实用程序将字符串数组转换为double数组:

package com.javadb;import org.apache.commons.beanutils.ConvertUtils;public class ConvertStringArrayToDoubleArray {    public static void main(String[] args) {        String values[] = { "5", "6", "3" };        double[] doubleValues = (double[])ConvertUtils.convert(values, Double.TYPE);           for (double d : doubleValues) {            System.out.println(d);        }    }}

输出

  • 将上面的第一个代码保存为ConvertStringArrayToDoubleArray.java.

  • 现在使用"运行"选项执行代码或显示Ctrl + f11和输出如下.

ConvertUtils