posts - 165, comments - 198, trackbacks - 0, articles - 1
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          源碼分析

          Posted on 2007-10-23 10:34 G_G 閱讀(554) 評(píng)論(0)  編輯  收藏 所屬分類: hibernate
          1.CollectionHelper 對(duì)List,Set,Map 包裝出不可修改的
          public?final?class?CollectionHelper?{
          ????
          public?static?final?List?EMPTY_LIST?=?Collections.unmodifiableList(?new?ArrayList(0)?);
          ????
          public?static?final?Collection?EMPTY_COLLECTION?=?Collections.unmodifiableCollection(?new?ArrayList(0)?);
          ????
          public?static?final?Map?EMPTY_MAP?=?Collections.unmodifiableMap(?new?HashMap(0)?);
          ????
          private?CollectionHelper()?{}
          }
          ??? 1.1 在Collections.unmodifiableList(...)是靜態(tài)內(nèi)部類個(gè)構(gòu)造方法
          ??? ?? 悟: 從上面看出是一個(gè)非常好的? 適配器 ?
          ???//1.Collections 中 new 出內(nèi)部類
          ??? public static <T> Collection<T> unmodifiableCollection(Collection<? extends T> c) {
          ??? ??? return new UnmodifiableCollection<T>(c);
          ??? }



          ??? //2.
          內(nèi)部類也繼承 Collection
          ??? static class UnmodifiableCollection<E> implements Collection<E>, Serializable {
          ??? private?static?final?long?serialVersionUID?=?1820017752578914078L;

          ????
          final?Collection<??extends?E>?c;
          ??? //3.很好適配 Collection 通過(guò)他把 add remove 等功能 封裝
          ????UnmodifiableCollection(Collection
          <??extends?E>?c)?{
          ????????????
          if?(c==null)
          ????????????????
          throw?new?NullPointerException();
          ????????????
          this.c?=?c;
          ????????}
          ??? ...............

          2.大量使用內(nèi)部類枚矩 ?如:
          Mappings.PropertyReference?upr?=?(Mappings.PropertyReference)?iter.next();
          ////////////////////////////////////////////////
          Mappings中
          ????
          static?final?class?PropertyReference?implements?Serializable?{
          ????????String?referencedClass;
          ????????String?propertyName;
          ????????
          boolean?unique;
          ????}

          //感覺(jué)是可以更好的代碼編寫




          主站蜘蛛池模板: 平潭县| 岑巩县| 罗定市| 宣武区| 平遥县| 昌平区| 望城县| 扶余县| 柳江县| 清水县| 公安县| 麻江县| 石家庄市| 桂东县| 伊宁县| 博客| 察哈| 清水河县| 青神县| 甘德县| 铁岭县| 克拉玛依市| 洛阳市| 卢湾区| 喀喇| 来凤县| 科技| 威信县| 桃源县| 佛教| 民乐县| 芜湖县| 师宗县| 东丰县| 南乐县| 清远市| 霍林郭勒市| 永兴县| 布拖县| 博湖县| 河北省|