Java Array Range Copy copyOfRange(byte[] original, int from, int to)

Here you can find the source of copyOfRange(byte[] original, int from, int to)

Description

copy Of Range

License

Apache License

Declaration

public static byte[] copyOfRange(byte[] original, int from, int to) 

Method Source Code

//package com.java2s;
/*//from  w ww  .  java 2  s .  c o  m
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

public class Main {
    public static byte[] copyOfRange(byte[] original, int from, int to) {
        checkCopyOfRangeParams(original, from, to);
        int newLength = to - from;
        if (newLength < 0)
            throw new IllegalArgumentException(from + " > " + to);
        byte[] copy = new byte[newLength];
        System.arraycopy(original, from, copy, 0,
                Math.min(original.length - from, newLength));
        return copy;
    }

    private static void checkCopyOfRangeParams(byte[] original, int from,
            int to) {
        if (original == null)
            throw new NullPointerException("array is null");
        if (from < 0)
            throw new IllegalArgumentException(from + " should be > 0");
        if (to < 0)
            throw new IllegalArgumentException(to + " should be > 0");
    }
}

Related

  1. copyOf(String[] original, int newLength)
  2. copyOf(T[] oriArray, int newArraySize, int startOffset)
  3. copyOfArray(int[] a)
  4. copyOfRange(byte[] bytes, int offset, int len)
  5. copyOfRange(byte[] original, int from, int to)
  6. copyOfRange(byte[] original, int from, int to)
  7. copyOfRange(byte[] original, int from, int to)
  8. copyOfRange(byte[] original, int from, int to)
  9. copyOfRange(char[] original, int from, int to)