1つのJavaBeanから別のJavaBeanへの値の割り当て(属性名の大文字と小文字が異なる)
999 ワード
PropertyDescriptor[] property = PropertyUtils.getPropertyDescriptors(target);
for (int i = 0; i < property.length; i++) {
String propertyTarget = property[i].getName();
String propertyName = propertyTarget.toLowerCase();
if (PropertyUtils.isWriteable(source, propertyName)) {
Object propertyValue = PropertyUtils.getProperty(source, propertyName);
if (!(propertyValue instanceof String) && propertyValue != null) {
propertyValue = String.valueOf(propertyValue);
}
PropertyUtils.setProperty(target, propertyTarget, propertyValue);
}
}
[color=red]PS:JavaBeanオブジェクトの属性値を別のJavaBeanオブジェクトにコピーする方法
サポート対象オブジェクトの属性名とソースオブジェクトの属性名の大文字と小文字が一致しない
ターゲットオブジェクトとソースオブジェクトのプロパティ名が完全に一致しない場合のレプリケーションをサポート
(1)属性名の大文字と小文字が一致しない場合は,ソースオブジェクトがフル小文字,ターゲットオブジェクトが大文字と小文字の混在のみをサポートする.
(2)ターゲットオブジェクト属性タイプはすべてStringタイプである必要があり、ソースオブジェクトのタイプはStringタイプではなく、ターゲットオブジェクトに入ると自動的にStringタイプに変換される.