A quanto ho capito quando scrivo "int[] numeriFortunati = numeriPrimi" (dove numeriPrimi è un vettore) dovrei copiare il contenuto di numeriPrimi dentro NumeriFortunati eppure facendo partire il programma qui giù sembra che si comporti come in c cioè che fa puntare l'indirizzo di numeriFortunati allo stesso indirizzo di numeriPrimi....
codice:
public class CopiaArray{
public static void main(String[] args){
int[] numeriPrimi = {2, 3, 5, 7, 11, 13};
int[] numeriFortunati = numeriPrimi; //Stessa locazione di memoria come in c
numeriFortunati[2] = 12;
for(int i = 0; i < numeriFortunati.length; i++)
System.out.print(numeriFortunati[i] + " ");
numeriFortunati = new int[6]; //così non modifico anche numeriPrimi perchè do un nuovo indirizzo di memoria
for(int i = 0; i < 6; i++)
numeriFortunati[i] = 1000 + i + 1;
System.out.println();
System.arraycopy(numeriPrimi, 2, numeriFortunati, 2, 4); //da quale elemento effettuare la copia, da quale indice deve partire a copiare
//in quale array copiare, da quale indice iniziare a sovrascrivere, quanti elementi sovrascrivere
//Attenzione a non uscire fuori dall'array
for(int i = 0; i < numeriFortunati.length; i++)
System.out.print(numeriFortunati[i]+ " ");
}
}
Avete chiarimenti da darmi??? grazie