Java Arrays - copyOf() Method
The java.util.Arrays.copyOf() method is used to copy the specified array, truncating or padding with nulls (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 null. Such indices will exist if and only if the specified length is greater than that of the original array. The resulting array is of exactly the same class as the original array.
Syntax
public static <T> T[] copyOf(T[] original, int newLength)
Here, T is the class of the objects in the array.
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 nulls 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 nulls 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 as Object Object Arr2 = Arrays.copyOf(Arr1, 5); //cast Arr2 as byte into Arr3 //nulls are converted into zero byte Arr3[] = (byte[])Arr2; //printing Arr1 System.out.print("Arr1 contains:"); for(byte i: Arr1) System.out.print(" " + i); //printing Arr3 System.out.print("\nArr3 contains:"); for(byte i: Arr3) System.out.print(" " + i); } }
The output of the above code will be:
Arr1 contains: 10 5 25 Arr3 contains: 10 5 25 0 0
❮ Java.util - Arrays