stavo provando il seguente codice,perché nulla assegnazione non lavorare in una funzione
public void test() {
List<Integer> list = new ArrayList<>();
list.add(100);
list.add(89);
System.out.println(list);
update1(list);
System.out.println(list);
update2(list);
System.out.println(list);
}
public void update1(List<Integer> list) {
list.remove(0);
}
public void update2(List<Integer> list) {
list = null;
}
Sto ottenendo il seguente output,
[100,89]
[89]
[89]
La mia domanda è, perché io non sono in grado di assegnare l'elenco come null all'interno di una funzione chiamata?
Grazie @ColonelThirtyTwo, ma la mia domanda è reinquadramento l'assegnazione nullo. So che "Java passa sempre in base al valore, senza eccezioni, mai." dal post "http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value" – Kajal
Cosa è l'assegnazione nulla? Stai solo cambiando ciò a cui punta 'list' (nel caso di' null', non punta a nulla). –