- Java BeanUtils 教程
- Java BeanUtils - 首页
- Java BeanUtils - 概述
- 动态 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延迟加载 DynaBeans
- 数据类型转换
- 背景
- BeanUtils 和 ConvertUtils
- 创建自定义转换器
- 区域感知转换
- 实用程序对象和类
- 实用程序对象和类
Java BeanUtils - BeanUtils 和 ConvertUtils
描述
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 执行代码,如下所示输出。
ConvertUtils
Apache Commons BeanUtils 是一个库,它带有一系列转换器,用于在不同数据类型之间进行转换,并且还包含 ConvertUtils 实用程序类,该类利用这些转换器。
示例
以下示例显示了使用 ConvertUtils 实用程序将字符串数组转换为双精度数组。
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 执行代码,如下所示输出。
广告