📅  最后修改于: 2020-11-04 07:07:25             🧑  作者: Mango
BeanUtils被定义为用于填充JavaBeans属性的实用方法,而ConvertUtils方法将字符串标量值转换为对象,将字符串数组转换为指定类的数组。
BeanUtils通过使用setter方法接受字符串值,并将它们自动转换为Java原语的合适属性类型,并使用getter方法进行反向转换。 populate()方法从java.util.HashMap接受属性值集,并且每当bean包含具有相同名称的属性时,都使用合适的设置方法。
下面的示例显示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执行代码,并显示以下输出。
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执行代码,并显示以下输出。