Quote:
Originariamente inviato da k0nt3
no?
ma qui non si tratta di semplificare.. al contrario si sta complicando una questione ultrasemplice.
voi dite:
in java i tipi primitivi sono passati per valore mentre gli oggetti sono passati per riferimento (beh ad eccezione degli oggetti immutabili ecc..)
mentre in realtà:
in java tutto viene passato per valore
quale ti sembra più semplice? 
|
nessuna delle due.
per un principiante la seconda e' molto ambigua: lo puo' portare a pensare che un oggetto sia passato per valore.
ma il punto e' che io non voglio DIRE che gli oggetti sono passati per riferimento, voglio solo poterlo PENSARE mentre ragiono tra me e me o mentre colloquio con qualcuno che conosce java permettendomi di mantenere impliciti alcuni dettagli NOTI.
poi perche' una String o un array non dovrebbero avere lo stesso trattamento? sono passati per copia? assolutamente no, e' solo che ogni metodo della classe String, ad esempio, che abbia lo scopo di modificare una stringa in realta' ritorna un nuovo oggetto String, cosa che, assieme alla semantica dell'operatore = e al fatto che lavoro con reference e non con oggetti, fa si' che un oggetto String sia immutabile... a me pare straordinariamente semplice