java读取类字段名-BeanUtils.describe与PropertyUtils.describe(javaBean转map)
兩個(gè)都是將字段名與值轉(zhuǎn)化為Map<字段名,字段值>
這兩個(gè)方法,基本上實(shí)現(xiàn)原理類似,內(nèi)部代碼很多都相同的,但在讀取bean的某個(gè)屬性的時(shí)候都是調(diào)用的某個(gè)類的getNestedProperty(bean, name)方法。
其實(shí)主要的區(qū)別就在這個(gè)方法中
PropertyUtils是調(diào)用的PropertyUtilsBean的這個(gè)方法,該方法讀取屬性值(調(diào)用getXxx方法)之后, value不做轉(zhuǎn)化
而BeanUtils調(diào)用的是BeanUtilsBean的這個(gè)getNestedProperty方法,該方法在讀取值之后,會(huì)再調(diào)用一次(getConvertUtils().convert(value));,進(jìn)行類型轉(zhuǎn)化成String。而且這個(gè)方法會(huì)多出一個(gè)字段就是 desciable轉(zhuǎn)成map的時(shí)候會(huì)多一個(gè)class的屬性,可以直接獲取到當(dāng)前bean的類
因此BeanUtils.describe轉(zhuǎn)化出來的Map的value都是String
總結(jié)
以上是生活随笔為你收集整理的java读取类字段名-BeanUtils.describe与PropertyUtils.describe(javaBean转map)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: apache-commons之BeanU
- 下一篇: 什么是句柄