Java BeanUtils - BeanUtils và ConvertUtils

Sự miêu tả

Các BeanUtils được định nghĩa là một phương pháp hữu ích cho Populating JavaBeans tài sản và ConvertUtils giá trị vô hướng phương pháp cải chuỗi các đối tượng, mảng chuỗi mảng của lớp được chỉ định.

Hạt đậu

Các BeanUtils chấp nhận các giá trị chuỗi bằng cách sử dụng các phương pháp setter và tự động chuyển đổi chúng sang các loại tài sản phù hợp cho Java nguyên thủy và sử dụng các phương pháp getter để chuyển đổi ngược lại. Phương thức populate () chấp nhận tập hợp các giá trị thuộc tính từ java.util.HashMap và sử dụng các bộ định vị phù hợp bất cứ khi nào bean chứa thuộc tính có cùng tên.

Thí dụ

Ví dụ dưới đây cho thấy cách sử dụng thuộc tính 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());
    }
}

Bây giờ chúng ta sẽ tạo một lớp khác có tên là User.java như hình dưới đây:

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

Đầu ra

Hãy thực hiện các bước sau để xem mã trên hoạt động như thế nào:

  • Lưu mã đầu tiên ở trên dưới dạng Test.java.

  • Bây giờ thực thi mã bằng cách sử dụng tùy chọn Run hoặc Ctrl + f11 và kết quả như bên dưới được hiển thị.

ConvertUtils

Apache Commons BeanUtils là một thư viện đi kèm với một số bộ chuyển đổi để chuyển đổi sang và từ các kiểu dữ liệu khác nhau và cũng chứa lớp tiện ích ConvertUtils sử dụng các bộ chuyển đổi này.

Thí dụ

Ví dụ dưới đây cho thấy việc chuyển đổi mảng chuỗi thành mảng kép bằng tiện ích 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);
        }
    }
}

Đầu ra

  • Lưu mã đầu tiên ở trên dưới dạng ConvertStringArrayToDoubleArray.java.

  • Bây giờ thực thi mã bằng cách sử dụng tùy chọn Run hoặc Ctrl + f11 và kết quả như bên dưới được hiển thị.