|
@@ -451,13 +451,6 @@ public final class FastBeanCopier {
|
|
return (T) new Date(((Date) source).getTime());
|
|
return (T) new Date(((Date) source).getTime());
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- org.apache.commons.beanutils.Converter converter = BeanUtilsBean
|
|
|
|
- .getInstance()
|
|
|
|
- .getConvertUtils()
|
|
|
|
- .lookup(targetClass);
|
|
|
|
- if (null != converter) {
|
|
|
|
- return converter.convert(targetClass, source);
|
|
|
|
- }
|
|
|
|
if (Collection.class.isAssignableFrom(targetClass)) {
|
|
if (Collection.class.isAssignableFrom(targetClass)) {
|
|
Collection collection = newCollection(targetClass);
|
|
Collection collection = newCollection(targetClass);
|
|
Collection sourceCollection;
|
|
Collection sourceCollection;
|
|
@@ -473,6 +466,7 @@ public final class FastBeanCopier {
|
|
sourceCollection = Arrays.asList(source);
|
|
sourceCollection = Arrays.asList(source);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ //转换泛型
|
|
if (genericType != null && genericType.length > 0 && genericType[0] != Object.class) {
|
|
if (genericType != null && genericType.length > 0 && genericType[0] != Object.class) {
|
|
for (Object sourceObj : sourceCollection) {
|
|
for (Object sourceObj : sourceCollection) {
|
|
collection.add(convert(sourceObj, genericType[0], null));
|
|
collection.add(convert(sourceObj, genericType[0], null));
|
|
@@ -486,7 +480,6 @@ public final class FastBeanCopier {
|
|
if (targetClass.isEnum()) {
|
|
if (targetClass.isEnum()) {
|
|
if (EnumDict.class.isAssignableFrom(targetClass)) {
|
|
if (EnumDict.class.isAssignableFrom(targetClass)) {
|
|
Object val = EnumDict.find((Class) targetClass, String.valueOf(source)).orElse(null);
|
|
Object val = EnumDict.find((Class) targetClass, String.valueOf(source)).orElse(null);
|
|
-
|
|
|
|
if (targetClass.isInstance(val)) {
|
|
if (targetClass.isInstance(val)) {
|
|
return ((T) val);
|
|
return ((T) val);
|
|
}
|
|
}
|
|
@@ -501,6 +494,13 @@ public final class FastBeanCopier {
|
|
return null;
|
|
return null;
|
|
}
|
|
}
|
|
try {
|
|
try {
|
|
|
|
+ org.apache.commons.beanutils.Converter converter = BeanUtilsBean
|
|
|
|
+ .getInstance()
|
|
|
|
+ .getConvertUtils()
|
|
|
|
+ .lookup(targetClass);
|
|
|
|
+ if (null != converter) {
|
|
|
|
+ return converter.convert(targetClass, source);
|
|
|
|
+ }
|
|
|
|
|
|
T newTarget = targetClass == Map.class ? (T) new HashMap<>() : targetClass.newInstance();
|
|
T newTarget = targetClass == Map.class ? (T) new HashMap<>() : targetClass.newInstance();
|
|
copy(source, newTarget);
|
|
copy(source, newTarget);
|