在项目中,时常有DTO、VO、BO等转换问题。很多时候,我们会写很多get和set方法,显得代码不够美观。
高级点的方法,我们有使用Apache或者Spring的BeanUtils来做copy。
下表是对它们之前的性能总结
场景 | 耗时(调用100万次) | 原理 |
get/set | 20ms | 直接调用 |
BeanCopiers | 20ms | 基于 cglib,修改字节码 |
BeanUtils | 12000ms | 反射 |
PropertyUtils | 4000ms | 反射 |
耗时仅供参考。
结论:
get/set 方法 和BeanCopiers方法性能最好。