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