001/*
002 * $Id: ArrayUtil.java 4962 2014-10-17 19:05:55Z kredel $
003 */
004
005package edu.jas.util;
006
007
008// import org.apache.log4j.Logger;
009
010
011/**
012 * Array utilities. For example copyOf from Java 6. <b>Note:</b> unused at the
013 * moment since it is not working in Java 5.
014 * @author Heinz Kredel
015 */
016public class ArrayUtil {
017
018
019    //private static final Logger logger = Logger.getLogger(ArrayUtil.class);
020    // private static boolean debug = logger.isDebugEnabled();
021
022
023    /**
024     * Copy the specified array.
025     * @param original array.
026     * @param newLength new array length.
027     * @return copy of original.
028     */
029    public static <T> T[] copyOf(T[] original, int newLength) {
030        T[] copy = (T[]) new Object[newLength];
031        System.arraycopy(original, 0, copy, 0, Math.min(original.length, newLength));
032        return copy;
033    }
034
035
036    /**
037     * Copy the specified array.
038     * @param original array.
039     * @return copy of original.
040     */
041    public static <T> T[] copyOf(T[] original) {
042        return copyOf(original, original.length);
043    }
044
045}