Heis的Blog

          保持簡單,保持愚蠢
          隨筆 - 29, 文章 - 1, 評論 - 122, 引用 - 0
          數據加載中……

          Jakarta Commons Cookbook讀書筆記--Commons BeanUtils(2)

          Jakarta Commons Cookbook讀書筆記系列

          2.2 org.apache.commons.beanutils.BeanComparator比較Bean屬性

          排序前

          Book book
          |--List authors
                    |--[0]->Person person1
                                    |--String name->"LiLei"
                    |--[1]->Person person2
                                    |--String name->"Ark"
                    |--[2]->Person person3
                                    |--String name->"HanMeimei"
                                   
          Comparator nameComparor=new BeanComparator("name");
          Collections.sort(book.getAuthors(),nameComparor);


          排序后
          Book book
          |--List authors
                    |--[0]->Person person1
                                    |--String name->"Ark"
                    |--[1]->Person person2
                                    |--String name->"HanMeimei"
                    |--[2]->Person person3
                                    |--String name->"LiLei"

          2.3 org.apache.commons.beanutils.collections.BeanMap 使用Map封裝Bean
          封裝屬性
          Person person=new Person();
          person.setName(
          "Heis");
          person.setAge(
          50);
          Map beanMap
          =new BeanMap(person);

          Map beanMap
                
          |--Entry(key->"name",value->"Heis")
                
          |--Entry(key->"age",value->Integer(50))

               
          getReadMethod(),getWriteMethod()取讀方法與寫方法
          BeanMap beanMap=new BeanMap(person);
          Method wMethod
          =beanMap.getWriteMethod("age");
          wMethod.invoke(person,
          new Integer(24));
          Method rMethod
          =beanMap.getReadMethod("age");
          rMethod.invoke(person);
          ->24

          2.4 使用org.apache.commons.beanutils.DynaBean接口,可以在運行時創建動態Bean,而且創建的動態bean可以與BeanUtils包內的工具(如PropertyUtils等)結合使用。
          DynaProperty[] beanProperties=new DynaProperty[]{
          new DynaProperty("name",String.class),
          new DynaProperty("age",Integer.class)};
          //BasicDynaBean implements DynaBean
          BasicDynaClass personClass=new BasicDynaClass("person",BasicDynaBean.class,beanProperties);
          DynaBean person
          =BasicDynaClass.newInstance();
          //set the properties
          person.set("name","Heis");
          PropertyUtils.setProperty(person,
          "age",new Integer(50));


          2.5 使用BeanUtils以字符串形式訪問屬性
          String ageStr=BeanUtils.getProperty(person,"age");
          BeanUtils.setProperty(person,
          "age","50");

          Jakarta Commons Cookbook讀書筆記系列



          程序員的一生其實可短暫了,這電腦一開一關,一天過去了,嚎;電腦一開不關,那就成服務器了,嚎……

          posted on 2009-11-24 10:19 Heis 閱讀(1482) 評論(0)  編輯  收藏 所屬分類: Jakarta Commons Cookbook讀書筆記

          主站蜘蛛池模板: 辛集市| 诸城市| 垦利县| 商丘市| 桂平市| 新密市| 肇东市| 博乐市| 北流市| 九龙城区| 广宁县| 呼图壁县| 张家港市| 崇州市| 泸州市| 南阳市| 雷州市| 德昌县| 裕民县| 和政县| 米泉市| 商丘市| 满城县| 东乌珠穆沁旗| 上林县| 扶风县| 栾川县| 西青区| 桂平市| 农安县| 琼海市| 丹江口市| 沂水县| 五大连池市| 扎鲁特旗| 十堰市| 呼和浩特市| 夏津县| 万盛区| 康保县| 长治市|