隨筆 - 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

          主站蜘蛛池模板: 蚌埠市| 固阳县| 庆城县| 仪陇县| 苏州市| 峨边| 太仆寺旗| 扎囊县| 高雄市| 句容市| 修水县| 南充市| 长沙市| 孝昌县| 汝南县| 淮阳县| 肃宁县| 中超| 雷波县| 合水县| 永丰县| 牡丹江市| 广水市| 辽中县| 体育| 岳阳县| 贺兰县| 德阳市| 巍山| 宣恩县| 布尔津县| 西峡县| 南木林县| 绥棱县| 海口市| 江口县| 堆龙德庆县| 中山市| 泽普县| 中宁县| 石泉县|