Questo topic e' stato chiuso dal moderatore.
07/01/11 14:51
f.l.c.r
Sto leggendo il manuale reperito sul sito mokabyte (consigliato da netarrow nel topic principale).
Spero di poter postare un pezzo di tale manuale, in quanto non ne sono pienamente daccordo, spero di non sbagliarmi.
Se cosi non fosse, vi prego di correggermi
"Al contrario di quanto avviene con le variabili dei tipi primitivi (int, long ecc.), quando si passa a un metodo un array (o qualsiasi altro oggetto), esso viene passato “by ref”, o “per riferimento”: in altre parole, il parametro formale i presente nel metodo non punta a una copia dell’array definito nel metodo
main, ma punta allo stesso identico array, e qualsiasi modifica effettuata su di esso all’interno del
metodo andrà ad agire sull’array stesso."
Leggendo altre fonti s Java, ho sempre trovato documentato che in Java tutti i passaggi avvengono per copia.
Se si verifica un comportamento simile al passaggio per riferimento, è dovuto esclusivamente al fatto che viene copiato il ref, e che appunto viene copiato, e non passato per riferimento.
Ovviament, come descritto, tutte le modifiche effettuate all'oggetto passato come paramentro al metodo, ricadono anche sull'oggetto stesso, perchè, avendo lo stesso riferimeno, puntano allo stesso oggetto.
Spesso di essere stato chiaro nella mia concisa, ma "irruenta" opinione.
Spero di poter postare un pezzo di tale manuale, in quanto non ne sono pienamente daccordo, spero di non sbagliarmi.
Se cosi non fosse, vi prego di correggermi
"Al contrario di quanto avviene con le variabili dei tipi primitivi (int, long ecc.), quando si passa a un metodo un array (o qualsiasi altro oggetto), esso viene passato “by ref”, o “per riferimento”: in altre parole, il parametro formale i presente nel metodo non punta a una copia dell’array definito nel metodo
main, ma punta allo stesso identico array, e qualsiasi modifica effettuata su di esso all’interno del
metodo andrà ad agire sull’array stesso."
Leggendo altre fonti s Java, ho sempre trovato documentato che in Java tutti i passaggi avvengono per copia.
Se si verifica un comportamento simile al passaggio per riferimento, è dovuto esclusivamente al fatto che viene copiato il ref, e che appunto viene copiato, e non passato per riferimento.
Ovviament, come descritto, tutte le modifiche effettuate all'oggetto passato come paramentro al metodo, ricadono anche sull'oggetto stesso, perchè, avendo lo stesso riferimeno, puntano allo stesso oggetto.
Spesso di essere stato chiaro nella mia concisa, ma "irruenta" opinione.
aaa