[java]代码库
public <T> Object CopytoBean(Object obj){
try{
PropertyDescriptor[] descriptors =Introspector.getBeanInfo(obj.getClass()).getPropertyDescriptors();
for (PropertyDescriptor descriptor : descriptors) {
String proname = descriptor.getName();
// System.out.println("descriptor.getName()="+descriptor.getName());
Method writeMethod = descriptor.getWriteMethod();
if(writeMethod!=null){
// System.out.println(writeMethod.getName());
Class<?> type = descriptor.getPropertyType();
if(type.isAssignableFrom(Integer.class)){
writeMethod.invoke(obj, new Object[] { paramInt(proname) });
}else if(type.isAssignableFrom(Boolean.class)){
writeMethod.invoke(obj, new Object[] { paramBoolean(proname) });
}else if(type.isAssignableFrom(Long.class)){
writeMethod.invoke(obj, new Object[] { paramLong(proname) });
}else if(type.isAssignableFrom(java.util.Date.class)||type.isAssignableFrom(Date.class)){
writeMethod.invoke(obj, new Object[] {DateUtils.parseDate(param(proname), new String[] {"yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","yyyy-MM-dd"}) });
}else if(type.isAssignableFrom(Timestamp.class)){
writeMethod.invoke(obj, new Object[] {new Timestamp(DateUtils.parseDate(param(proname), new String[] {"yyyy-MM-dd HH:mm:ss.SSS", "yyyy-MM-dd HH:mm:ss","yyyy-MM-dd HH:mm","yyyy-MM-dd"}).getTime()) });
}else {
writeMethod.invoke(obj, new Object[] { param(proname) });
}
}
}
}catch (Exception e) {
e.printStackTrace();
}
return obj;
}
//源代码片段来自云代码http://yuncode.net