Java BeanUtils - BeanUtils และ ConvertUtils

คำอธิบาย

BeanUtilsถูกกำหนดให้เป็นวิธีการที่ยูทิลิตี้สำหรับประชากรคุณสมบัติ JavaBeans และConvertUtilsค่าสเกลาวิธีการแปลงสตริงวัตถุอาร์เรย์สตริงอาร์เรย์ของชั้นที่ระบุ

BeanUtils

BeanUtilsยอมรับค่าสตริงโดยใช้วิธีการตั้งค่าโดยอัตโนมัติและแปลงให้ประเภทสถานที่เหมาะสำหรับพื้นฐาน Java และใช้วิธีการทะเยอทะยานสำหรับการแปลงกลับ เติม ()วิธีการยอมรับการตั้งค่าของค่าทรัพย์สินจากjava.util.HashMapและใช้ setters เหมาะสมเมื่อใดก็ตามที่ถั่วมีทรัพย์สินที่มีชื่อเดียวกัน

ตัวอย่าง

ตัวอย่างด้านล่างแสดงการใช้คุณสมบัติ 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

  • ตอนนี้รันโค้ดโดยใช้ตัวเลือก Run หรือ 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

  • ตอนนี้รันโค้ดโดยใช้ตัวเลือก Run หรือ Ctrl + f11 และเอาต์พุตด้านล่างจะปรากฏขึ้น