Originariamente inviato da ngs
codice:
public void Pippo(String[] f){
f = new String[]{"1","2"}
}
Code di avvio:
String[] d = null;
Pippo(d);
Come ho detto sopra, viene passata una copia del reference. Al metodo Pippo viene passata una copia del reference che, nel caso specifico sopra, vale null. Assegnare nel metodo Pippo qualcosa alla variabile 'f' non ha alcuna ripercussione sulla variabile 'd' nel chiamante!!!
'f' è semplicemente un'altra variabile che contiene una copia del valore contenuto in 'd'.
Per far in modo che il metodo possa fornire i valori dell'array, ci sono solo 2 strade:
a)
codice:
public void pippo (String[] f) {
f[0] = "1";
f[1] = "2";
}
...
String[] d = new String[2];
pippo (d);
b)
codice:
public String[] pippo () {
return new String[] { "1", "2" };
}
...
String[] d = pippo ();