La maggiore ciclo for si utilizza:
for(int element : array)
element = 10;
in Java abbiamo riferimenti fanno riferimento a un oggetto. In un momento un riferimento può fare riferimento a un solo oggetto. Se è fatto per fare riferimento a un altro oggetto, perde il riferimento al precedente. Quando si utilizza =
allora fate element
fare riferimento a un altro valore cioè 10.
Qui element
è di type int
, che è primitive
tipo. Anche se è stato un Integer
allora anche Integer
essendo immutable
si sarebbe non è stato in grado di apportare modifiche all'oggetto come modifiche avrebbe comportato sempre un oggetto separato.
Se sarebbe stato il caso, come di seguito per un po 'di classe personalizzati dire Student.java
Per alcuni List<Student> students.
for(Student std : students){
std.setName("eureka");
}
Ora iterazione della lista e la stampa il nome di ogni studente avrebbe portato nella stampa eureka per ogni studente. Notate che anche in questo caso l'uso di =
avrebbe prodotto di nuovo lo stesso risultato ottenuto (come di nuovo avreste fatto riferimento alla variabile su un oggetto diverso, non avrebbe più fatto riferimento all'oggetto originale della lista).
fonte
2016-03-20 12:27:10