Java BeanUtils - BeanUtils y ConvertUtils

Descripción

Los BeanUtils se define como un método de utilidad para poblar propiedades y JavaBeans ConvertUtils valores escalares conversos método de cadena a los objetos, matrices de cadenas a las matrices de la clase especificada.

BeanUtils

Los BeanUtils acepta valores de cadena mediante el uso de los métodos setter y automáticamente los convierte a los tipos de propiedad adecuados para las primitivas de Java y utiliza los métodos getter para la conversión inversa. El método populate () acepta un conjunto de valores de propiedad de java.util.HashMap y usa los setters adecuados siempre que el bean contenga la propiedad con el mismo nombre.

Ejemplo

El siguiente ejemplo muestra el uso de las propiedades de 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());
    }
}

Ahora crearemos otra clase llamada User.java como se muestra a continuación:

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;
    }
}

Salida

Realicemos los siguientes pasos para ver cómo funciona el código anterior:

  • Guarde el primer código anterior como Test.java.

  • Ahora ejecute el código usando la opción Ejecutar o Ctrl + f11 y se mostrará la salida como se muestra a continuación.

ConvertUtils

Apache Commons BeanUtils es una biblioteca que viene con una serie de convertidores para convertir desde y hacia diferentes tipos de datos y también contiene la clase de utilidad ConvertUtils que hace uso de estos convertidores.

Ejemplo

El siguiente ejemplo muestra la conversión de una matriz de cadenas en una matriz doble utilizando la utilidad 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);
        }
    }
}

Salida

  • Guarde el primer código anterior como ConvertStringArrayToDoubleArray.java.

  • Ahora ejecute el código usando la opción Ejecutar o Ctrl + f11 y se mostrará la salida como se muestra a continuación.