Java Utility Library

Java Arrays - copyOf() Method



The java.util.Arrays.copyOf() method is used to copy the specified array, truncating or padding with zeros (if necessary) so the copy has the specified length. For all indices that are valid in both the original array and the copy, the two arrays will contain identical values. For any indices that are valid in the copy but not the original, the copy will contain (byte)0. Such indices will exist if and only if the specified length is greater than that of the original array.

Syntax

public static byte[] copyOf(byte[] original, int newLength)

Parameters

original Specify the array to be copied.
newLength Specify the length of the copy to be returned.

Return Value

Returns a copy of the original array, truncated or padded with zeros to obtain the specified length.

Exception

  • Throws NegativeArraySizeException, if newLength is negative.
  • Throws NullPointerException, if original is null.

Example:

In the example below, the java.util.Arrays.copyOf() method returns a copy of the given array, truncated or padded with zeros to obtain the specified length.

import java.util.*;

public class MyClass {
  public static void main(String[] args) {
    //creating a byte array
    byte Arr1[] = {10, 5, 25};

    //copy Arr1 into Arr2 with length 5
    byte Arr2[] = Arrays.copyOf(Arr1, 5);

    //printing Arr1
    System.out.print("Arr1 contains:"); 
    for(byte i: Arr1)
      System.out.print(" " + i);
      
    //printing Arr2
    System.out.print("\nArr2 contains:"); 
    for(byte i: Arr2)
      System.out.print(" " + i);  
  }
}

The output of the above code will be:

Arr1 contains: 10 5 25
Arr2 contains: 10 5 25 0 0

❮ Java.util - Arrays