All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jakewharton.Arrays Maven / Gradle / Ivy

There is a newer version: 2.0.2
Show newest version
package com.jakewharton;

import java.lang.reflect.Array;

/* From java.util.Arrays */
class Arrays {
    @SuppressWarnings("unchecked")
    static  T[] copyOfRange(T[] original, int start, int end) {
        int originalLength = original.length; // For exception priority compatibility.
        if (start > end) {
            throw new IllegalArgumentException();
        }
        if (start < 0 || start > originalLength) {
            throw new ArrayIndexOutOfBoundsException();
        }
        int resultLength = end - start;
        int copyLength = Math.min(resultLength, originalLength - start);
        T[] result = (T[]) Array.newInstance(original.getClass().getComponentType(), resultLength);
        System.arraycopy(original, start, result, 0, copyLength);
        return result;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy