Vad är Arrays.copyOf()-metoden i Java?
Java-klassen java.util.Arrays tillhandahåller en metod som kallas Arrays.copyOf() som returnerar en kopia av en array som skickas som en parameter till den här funktionen, följt av att specificera dess storlek. Här är metodhuvudet för snabb förståelse.
Arrays.copyOf(int[] templateArray, int length);
Observera att den andra parametern "längd" är storleken på den kopieringsarray du vill skapa. Så här kan vi ha 3 fall.
- Längden på både mall- och kopieringsmatriser är desamma.
- Kopieringsmatrisens längd är längre än mallmatrisens längd.
- Kopieringsmatrisens längd är mindre än mallmatrisens längd.

Kodningsexempel
import java.util.Arrays;
public class ArraysCopyOfMethod {
public static void main(String[] args) {
// Initialize your templateArray which you want a copy of
int[] templateArray = new int[] {1, 2, 3, 4, 5, 6};
System.out.println("Template Array: " + Arrays.toString(templateArray));
// Create a "copy" of template array using
// Arrays.copyOf(int[] array, int arrayLength) method
// CASE 1: Sizes of both template & copy arrays are same
int[] copyArray1 = Arrays.copyOf(templateArray, templateArray.length);
System.out.println("Copy Array 1: " + Arrays.toString(copyArray1));
// CASE 2: Size of copy array > Size of template array
// extra space in copy array is filled with zeros
int[] copyArray2 = Arrays.copyOf(templateArray, 10);
System.out.println("Copy Array 2: " + Arrays.toString(copyArray2));
// CASE 3: Size of copy array < Size of template array
// copy array is only filled with only elements in overlapping size
int[] copyArray3 = Arrays.copyOf(templateArray, 3);
System.out.println("Copy Array 3: " + Arrays.toString(copyArray3));
}
}
Produktion
Template Array: [1, 2, 3, 4, 5, 6] Kopiera Array 1: [1, 2, 3, 4, 5, 6] Kopiera Array 2: [1, 2, 3, 4, 5, 6, 0, 0, 0, 0] Kopiera Array 3: [1, 2, 3]
GO TO FULL VERSION