PDA

View Full Version : java - array come parametro costruttore


G.TheHamleter
28-10-2014, 18:46
Ciao a tutti !!!

Vi vorrei chiedere una cosa sugli array :
quando ho un array generico di oggetti passato come parametro ad un costruttore,come faccio ad inizializzare il campo privato di array tramite quello passato come parametro?

Es :

public class X
{

private Y[] array;

public X(Y[] param)
{
this.array = param
oppure
this.array = new Y[dim];
for(i = 0; i < this.array.length; i++)
this.array[i] = param[i];????
}


Grazie

sottovento
29-10-2014, 07:12
Entrambi vanno bene (beh, il secondo metodo e' a meta' fra shallow copy e deep copy, dovresti duplicare anche gli elementi) e dipende da cosa vuoi fare.
E' evidente nel primo caso che le modifiche che farai all'array all'interno della tua classe verranno viste anche all'esterno, dato che condividi il vettore.
Nel secondo caso non condividi il vettore (sempre se fai la deep copy correttamente), quindi le modifiche che farai saranno confinate all'oggetto