现在的位置: 首页 > 综合 > 正文

泛型函数 拷贝数组

2013年10月15日 ⁄ 综合 ⁄ 共 505字 ⁄ 字号 评论关闭
    @SuppressWarnings("unchecked")
	private static <T> T[] copyOfRange(T[] original, int start, int end){
    	final int originalLength = original.length;
    	if(start > end){
    		throw new IllegalArgumentException();
    	}
    	if(start < 0 || end > originalLength){
    		throw new ArrayIndexOutOfBoundsException();
    	}
    	
    	final int resultLength = end - start;
    	final int copyLength = Math.min(resultLength, originalLength - start);
    	
    	final T[] result = (T[])Array.newInstance(original.getClass().getComponentType(), resultLength);
    	System.arraycopy(original, start, result, 0, copyLength);
    	return result;
    }

抱歉!评论已关闭.