Quando un array viene veramente copiato su un altro, se la lunghezza del nuovo array è più corta della lunghezza dell'array originale, il nuovo array è una copia ma troncata alla lunghezza copiata. Se il nuovo array è più lungo, gli elementi extra verso la sua estremità sono riempiti con i valori predefiniti del tipo di dati. Affinché un array sia copiato su un altro, entrambi gli array devono essere dello stesso tipo o tipi compatibili.
Java ha un metodo per copiare un array su un altro. Questo metodo è il metodo CopyOf () ed è sovraccarico per i diversi tipi di dati. È un metodo statico della classe di array. "Statico" significa che un array non deve essere istanziato per il metodo da utilizzare. Utilizza il nome di classe, array, con il primo "a" in maiuscolo. Il metodo restituisce l'array copiato. Questo articolo spiega le diverse forme sovraccarichi del metodo CopyOf (). Include come copiare i tipi di riferimento. Come copiare un intervallo di array non viene escluso.
Copia di una serie di valori booleani
La sintassi è:
static boolean [] copyof (boolean [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, false viene imbottito come valori per il nuovo array per avere la nuova lunghezza. Il seguente programma illustra questo:
Importa Java.util.Array;L'output è:
vero vero veroPer la prima linea di output, c'è troncamento. Per la seconda linea di uscita, entrambi gli array sono gli stessi. Il nuovo array è più lungo dell'array originale per la terza linea di uscita.
La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una matrice di valori di byte
La sintassi è:
byte statico [] copyof (byte [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Il seguente codice metodo principale () illustra questo:
byte statico [] copyof (byte [] originale, int newLength)L'output è:
1 2 3La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una matrice di valori Char
La sintassi è:
statico char [] copyof (char [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo ", è imbottito come valori del nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
A b cLa lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una serie di doppi valori
La sintassi è:
statico double [] copyof (double [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0.0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
1.5 2.5 3.5La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una serie di valori float
La sintassi è:
static float [] copyof (float [] originale, int newlength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0.0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
1.5 2.5 3.5La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una serie di valori int
La sintassi è:
static int [] copyof (int [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
1 2 3La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una serie di valori lunghi
La sintassi è:
static long [] copyof (long [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
1 2 3La lunghezza del nuovo array è determinata dal parametro newLength della sintassi del metodo Copyof ().
Copia di una serie di valori brevi
La sintassi è:
static short [] copyof (short [] originale, int newLength)Originale è il nome dell'array originale. newlength è la lunghezza dell'array nuovo o copiato. Se è più breve, la copia viene troncata a NewLength. Se è più lungo, 0 è imbottito come valori al nuovo array, per avere la nuova lunghezza. Esempio di codice:
public static void main (string [] args)L'output è:
1 2 3Copia di una serie di tipi di dati di riferimento
Un buon esempio del tipo di dati di riferimento è l'oggetto stringa, istanziato dalla classe stringa. La sua sintassi copyof () è uguale alle sintassi sopra. Il seguente codice illustra questo:
Importa Java.util.Array;L'output è:
uno due treIl valore predefinito per il tipo di dati di riferimento è nullo.
Copia di un intervallo
La gamma di un array può essere copiata. La sintassi per copiare l'intervallo di una matrice di caratteri è:
statico char [] copyofrange (char [] originale, int da, int to)"Da" è il primo indice e "a" è l'ultimo indice, il cui valore dell'intervallo non è incluso, nella copia. Codice di esempio:
public static void main (string [] args)L'output è:
AVANTI CRISTOCopia degli intervalli di tipi di dati primitivi e di riferimento è simile a questo codice.
Conclusione
La classe Array ha il metodo sovraccarico statico per copiare array. Viene utilizzato per copiare l'intero array. Se l'array copiato è breve, la copia verrà fatta alla lunghezza troncata indicata. Se l'array copiato è più lungo dell'array originale, il valore predefinito verrà imbottito per gli elementi aggiuntivi aggiuntivi. Il metodo statico copyofrange () può essere utilizzato per copiare un intervallo. La prossima cosa che il lettore dovrebbe studiare è come copiare una serie di tipi generici, .