PDA

View Full Version : passare variabili per riferimento(in java)???


The Incredible
16-12-2002, 13:54
si può fare come in c per passare variabili per indirizzo invece che per
valore?
Grazie

cn73
16-12-2002, 16:02
Solo i tipi base e gli array...per gli oggetti viene creata una copia del puntatore...

The Incredible
16-12-2002, 16:30
ma allora posso passare una stringa per riferimento?

Kleidemos
16-12-2002, 16:39
Originally posted by "The Incredible"

si può fare come in c per passare variabili per indirizzo invece che per
valore?
Grazie

Non credo visto che java non supporta i puntatori

PGI
16-12-2002, 17:21
Non puoi passare una Stringa per riferimento in via diretta ma, come giustamente dice cn73, puoi aggirare la cosa (se proprio devi usare un passaggio per riferimento) utilizzando un array di stringhe di dimensione 1

es.

String[] stringa={"hello"};

void change(String[] data) { data[0]+="_testo aggiunto" }

Java supporta i puntatori, quello che non permette è il passaggio per riferimento (nei limiti di cui si parlava) e il puntamento ad una locazione di memoria esplicita.

Ciao.

cn73
16-12-2002, 17:49
o semplicemente passare un'array di char ottenibile col metoto toCharArray() della classe java.lang.String :)

Tassadar
17-12-2002, 16:11
Originally posted by "cn73"

Solo i tipi base e gli array...per gli oggetti viene creata una copia del puntatore...

bèh il fatto che venga passato una copia del puntatore non vuol dire che tutto l'oggetto viene copiato......

Per la Stringa: puoi usare anche lo java.lang.StringBuffer :)