Java tutorial
//package com.java2s; /* * @(#)$Id: ArrayUtils.java 3619 2008-03-26 07:23:03Z yui $ * * Copyright 2006-2008 Makoto YUI * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except * in compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express * or implied. See the License for the specific language governing permissions and limitations under * the License. * * Contributors: Makoto YUI - ported from jakarta commons lang */ import java.lang.reflect.Array; public class Main { /** * Returns a copy of the given array of size 1 greater than the argument. The last value of the * array is left to the default value. * * @param array * The array to copy, must not be <code>null</code>. * @param newArrayComponentType * If <code>array</code> is <code>null</code>, create a size 1 array of this type. * @return A new copy of the array of size 1 greater than the input. */ private static Object copyArrayGrow1(final Object array, final Class newArrayComponentType) { if (array != null) { int arrayLength = Array.getLength(array); Object newArray = Array.newInstance(array.getClass().getComponentType(), arrayLength + 1); System.arraycopy(array, 0, newArray, 0, arrayLength); return newArray; } return Array.newInstance(newArrayComponentType, 1); } /** * <p> * Returns the length of the specified array. This method can deal with <code>Object</code> arrays * and with primitive arrays. * </p> * * <p> * If the input array is <code>null</code>, <code>0</code> is returned. * </p> * * <pre> * ArrayUtils.getLength(null) = 0 * ArrayUtils.getLength([]) = 0 * ArrayUtils.getLength([null]) = 1 * ArrayUtils.getLength([true, false]) = 2 * ArrayUtils.getLength([1, 2, 3]) = 3 * ArrayUtils.getLength(["a", "b", "c"]) = 3 * </pre> * * @param array * the array to retrieve the length from, may be null * @return The length of the array, or <code>0</code> if the array is <code>null</code> * @throws IllegalArgumentException * if the object arguement is not an array. */ public static int getLength(final Object array) { if (array == null) { return 0; } return Array.getLength(array); } }