千里之行始于足下

          行運流水,做一個有趣的人.

             :: 首頁 :: 聯(lián)系 ::  :: 管理

          2012年8月30日 #

          最近兩天閑下來了.心情有些不好.感覺現(xiàn)在跟當時所謂的理想越走越遠.

          千里之行始于足下,那就從現(xiàn)在開始吧.

          今天看了一些commons-lang3-3.1的代碼.正好最近在看<<代碼大全>>,就總結一下吧.

          拿org.apache.commons.lang3.ArrayUtils來說事吧.方法里面每個方法代碼都不多,代碼本身功能不復雜是一方面.防御式編程方面做的好,很多情況都考濾到了.

          但也有些地方不明白如:
           1     // Character array converters
           2     // ----------------------------------------------------------------------
           3     /**
           4      * <p>Converts an array of object Characters to primitives.</p>
           5      *
           6      * <p>This method returns {@code null} for a {@code null} input array.</p>
           7      *
           8      * @param array  a {@code Character} array, may be {@code null}
           9      * @return a {@code char} array, {@code null} if null array input
          10      * @throws NullPointerException if array content is {@code null}
          11      */
          12     public static char[] toPrimitive(Character[] array) {
          13         if (array == null) {
          14             return null;
          15         } else if (array.length == 0) {
          16             return EMPTY_CHAR_ARRAY;
          17         }
          18         final char[] result = new char[array.length];
          19         for (int i = 0; i < array.length; i++) {
          20             result[i] = array[i].charValue();
          21         }
          22         return result;
          23     }
          代碼里面如果換了我,一定會在第20行加一個非空判斷,但這里沒有.也許別人認為這是錯誤的情況另一個方法"char[] org.apache.commons.lang3.ArrayUtils.toPrimitive(Character[] array, char valueForNull)"可以完美的替換它吧.但總覺得應該加個非空判斷上去要好一些.
          posted @ 2012-08-30 18:11 胖子胖子 閱讀(95) | 評論 (0)編輯 收藏

          主站蜘蛛池模板: 桐梓县| 西藏| 泰安市| 大方县| 荔浦县| 讷河市| 合江县| 华坪县| 东丽区| 河津市| 昆山市| 遵义县| 绥宁县| 名山县| 郓城县| 滨海县| 涟源市| 平武县| 邹平县| 克什克腾旗| 石渠县| 江永县| 阿拉善左旗| 资兴市| 康平县| 莎车县| 荆门市| 岗巴县| 铁力市| 嘉义县| 利津县| 澄江县| 新绛县| 桂平市| 奎屯市| 抚松县| 旌德县| 尉氏县| 开封县| 平南县| 紫金县|