隨筆 - 45, 文章 - 2, 評論 - 11, 引用 - 0
          數據加載中……

          commons-lang源碼學習之ArrayUtils

          1、比較兩個對象是否類型相同

          array1.getClass().getName().equals(array2.getClass().getName()

          2、倒置(reverse)數組中的元素

                   int i = 0;
                  int j = array.length - 1;
                  Object tmp;
                  while (j > i) {
                      tmp = array[j];
                      array[j] = array[i];
                      array[i] = tmp;
                      j--;
                      i++;
                    }

          3、得到數組的容器類型

          array.getClass().getComponentType();

          4、lastIndex()這類方法的實現

          for (int i = startIndex; i >= 0; i--) {
                        if (objectToFind.equals(array[i])) {
                            return i;
                        }
          }

          5、isEmpty()這類方法的實現只要一句話,isNotEmpty方法依此推

          return array == null || array.length == 0;

          6、將兩個數組合并addAll

                 boolean[] joinedArray = new boolean[array1.length + array2.length];
                 System.arraycopy(array1, 0, joinedArray, 0, array1.length);
                 System.arraycopy(array2, 0, joinedArray, array1.length, array2.length);

          7、將新元素加入到數組中

                      int arrayLength = Array.getLength(array);
                      Object newArray = Array.newInstance(array.getClass().getComponentType(), arrayLength + 1);
                      System.arraycopy(array, 0, newArray, 0, arrayLength);
                      return newArray;

          8、獲得數組長度的方法

          int arrayLength = Array.getLength(array);

          9、以反射的方式獲得數組對象

          Array.newInstance(array.getClass().getComponentType(), arrayLength + 1)

          10、將某一元素從數組中移除

          Object result = Array.newInstance(array.getClass().getComponentType(), getLength(array)- 1);
                 System.arraycopy(array, 0, result, 0, index);
                 if (index < length - 1) {
                     System.arraycopy(array, index + 1, result, index, length - index - 1);
                 }

          posted on 2011-03-08 15:01 jack zhai 閱讀(798) 評論(0)  編輯  收藏 所屬分類: java2 se

          主站蜘蛛池模板: 泸定县| 四川省| 内乡县| 陇南市| 锡林郭勒盟| 沙洋县| 逊克县| 昌黎县| 长丰县| 革吉县| 敦煌市| 宝应县| 江北区| 岗巴县| 德昌县| 桐梓县| 六枝特区| 环江| 安岳县| 临武县| 大悟县| 来安县| 佛教| 沙坪坝区| 罗山县| 尼勒克县| 绵竹市| 五河县| 五指山市| 乌拉特中旗| 鄂托克旗| 新乐市| 高青县| 广汉市| 漠河县| 东平县| 开封县| 枣庄市| 正阳县| 安乡县| 山东省|