- Java BeanUtils 教程
- Java BeanUtils - 首頁
- Java BeanUtils - 概述
- 動態 Bean (DynaBeans)
- 背景
- 基本 DynaBeans
- ResultSetDynaClass
- RowSetDynaClass
- WrapDynaBean
- 延遲載入 DynaBeans
- 資料型別轉換
- 背景
- BeanUtils 和 ConvertUtils
- 建立自定義轉換器
- 區域感知轉換
- 實用程式物件和類
- 實用程式物件和類
Java BeanUtils - BeanUtils 和 ConvertUtils
描述
BeanUtils 定義為用於填充 JavaBeans 屬性的實用程式方法,而 ConvertUtils 方法將字串標量值轉換為物件,將字串陣列轉換為指定類的陣列。
BeanUtils
BeanUtils 透過使用 setter 方法接受字串值,並自動將其轉換為適合 Java 原語的屬性型別,並使用 getter 方法進行反向轉換。populate() 方法從 java.util.HashMap 接受一組屬性值,並在 Bean 包含具有相同名稱的屬性時使用合適的 setter。
示例
以下示例顯示了 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 執行程式碼,如下所示輸出。
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。
現在使用執行選項或 Ctrl+f11 執行程式碼,如下所示輸出。
廣告