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