Java BeanUtils - BeanUtils e ConvertUtils
Descrição
O BeanUtils é definido como um método utilitário para preencher as propriedades JavaBeans e o método ConvertUtils converte valores escalares de string em objetos, arrays de string em arrays da classe especificada.
BeanUtils
O BeanUtils aceita valores de string usando os métodos setter e os converte automaticamente em tipos de propriedade adequados para primitivos Java e usa os métodos getter para conversão reversa. O método populate () aceita o conjunto de valores de propriedade de java.util.HashMap e usa os configuradores adequados sempre que o bean contém a propriedade com o mesmo nome.
Exemplo
O exemplo a seguir mostra o uso das propriedades 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());
}
}
Agora vamos criar outra classe chamada User.java conforme mostrado abaixo:
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;
}
}
Resultado
Vamos realizar as seguintes etapas para ver como o código acima funciona:
Salve o primeiro código acima como Test.java.
Agora execute o código usando a opção Executar ou Ctrl + F11 e a saída conforme abaixo é exibida.
ConvertUtils
O Apache Commons BeanUtils é uma biblioteca que vem com vários conversores para conversão de e para diferentes tipos de dados e também contém a classe do utilitário ConvertUtils que faz uso desses conversores.
Exemplo
O exemplo a seguir mostra a conversão da matriz de string em uma matriz dupla usando o utilitário 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);
}
}
}
Resultado
Salve o primeiro código acima como ConvertStringArrayToDoubleArray.java.
Agora execute o código usando a opção Executar ou Ctrl + F11 e a saída conforme abaixo é exibida.