Java tutorial
import java.lang.reflect.Array; import java.util.Enumeration; import java.util.Hashtable; /********************************************************************* * Array manipulation for Java 1.1+. * * <p> * Java 1.1 compatible. * </p> * * @see * ArrayLib2 * * @version * 2003-04-07 * @since * 2001-04-06 * @author * <a href="http://croftsoft.com/">David Wallace Croft</a>*/ public class Util { /********************************************************************* * Creates a new subarray from a larger array. * * <p> * To avoid unnecessary object creation, this method returns the * original array argument if the requested subarray length is the same * and the startIndex is 0. That is to say, if the method arguments * are such that the algorithm would have created a shallow clone, the * original array is returned instead. * </p> * * @throws NullArgumentException * * If objectArray is null. * * @throws ArrayIndexOutOfBoundsException * * If startIndex, length, or startIndex + length are out of range. * * @return * * Returns an array with the same component type as the old array. *********************************************************************/ public static Object[] subArray(Object[] objectArray, int startIndex, int length) ////////////////////////////////////////////////////////////////////// { if ((startIndex == 0) && (length == objectArray.length)) { return objectArray; } Object[] newArray = (Object[]) Array.newInstance(objectArray.getClass().getComponentType(), length); System.arraycopy(objectArray, startIndex, newArray, 0, length); return newArray; } }