千里之行始于足下

行运流水,做一个有趣的人.

   :: 首页 :: 联系 ::  :: 管理

2012年8月30日 #

最近两天闲下来了.心情有些不好.感觉现在跟当时所谓的理想越走越远.

千里之行始于足下,那就从现在开始吧.

今天看了一些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 胖子胖子 阅读(86) | 评论 (0)编辑 收藏