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

          commons-lang源碼學習之ArrayUtils

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

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

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

                   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、得到數(shù)組的容器類型

          array.getClass().getComponentType();

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

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

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

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

          6、將兩個數(shù)組合并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、將新元素加入到數(shù)組中

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

          8、獲得數(shù)組長度的方法

          int arrayLength = Array.getLength(array);

          9、以反射的方式獲得數(shù)組對象

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

          10、將某一元素從數(shù)組中移除

          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

          主站蜘蛛池模板: 赤水市| 招远市| 陇南市| 兴仁县| 车致| 齐齐哈尔市| 皋兰县| 申扎县| 南丰县| 兴山县| 乐至县| 班玛县| 汝阳县| 濮阳县| 烟台市| 玉山县| 元氏县| 乐清市| 高尔夫| 句容市| 化州市| 新巴尔虎右旗| 房产| 利川市| 翁牛特旗| 桦川县| 绥宁县| 正镶白旗| 禹城市| 南木林县| 中宁县| 兴城市| 宜宾县| 嘉峪关市| 墨竹工卡县| 盖州市| 中宁县| 梓潼县| 宜宾县| 柘荣县| 濉溪县|