Java-beanutils-data-type-conversions-beanutils-and-convertutils
提供:Dev Guides
Java BeanUtils-BeanUtilsおよびConvertUtils
説明
_BeanUtils_は、JavaBeansプロパティを設定するユーティリティメソッドとして定義され、_ConvertUtils_メソッドは、文字列スカラー値をオブジェクトに、文字列配列を指定されたクラスの配列に変換します。
BeanUtils
_BeanUtils_は、setterメソッドを使用して文字列値を受け入れ、それらをJavaプリミティブに適したプロパティタイプに自動的に変換し、逆変換にgetterメソッドを使用します。 _populate()_メソッドは、_java.util.HashMap_からプロパティ値のセットを受け取り、Beanに同じ名前のプロパティが含まれている場合は常に適切なセッターを使用します。
例
以下の例は、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を使用してコードを実行すると、次のような出力が表示されます。