關於使用Spring的BeanUtils複製屬性時Boolean型別無法複製的問題
阿新 • • 發佈:2019-03-29
spring-beans版本5.0.12
JDK版本1.8.0_181
使用BeanUtils.copyProperties(Object source, Object target)進行屬性複製時,遇到了Boolean型別無法複製的問題,一步步的跟進了java的rt.jar包中的Instrospector類中,發現第513行只認boolean型別
if (argCount == 0) { if (name.startsWith(GET_PREFIX)) { // Simple getter pd = new PropertyDescriptor(this.beanClass, name.substring(3), method, null); } else if (resultType == boolean.class && name.startsWith(IS_PREFIX)) { // Boolean getter pd = new PropertyDescriptor(this.beanClass, name.substring(2), method, null); } }
所以,是不支援Boolean型別的複製,只支援b