2011-01-19 3 views
6

In android/java, sto cercando di sostituire lo spazio in alcune stringhe con un +, ma non sembra funzionare. Sto sbagliando?Le stringhe in android/java, replace() non fa nulla

String string="Hello world"; 
string.replace(" ", "+"); 
+0

Suppongo sia solo per questo esempio, ma voglio solo far notare che non chiamerei una variabile "stringa" .... –

+1

se stai facendo questo per scopi di codifica url, dai un'occhiata al Classe URLEncoder – kgutteridge

risposta

26

String oggetti sono immutabili, in modo che il metodo di replace non cambia la stringa, ma crea una nuova che si deve ri-save:

String string="Hello world"; 
string = string.replace(" ", "+"); 
+0

+1 Esattamente. 'String.replace' restituisce una stringa. È un accessorio, non un mutatore diretto. –

+0

ahh .. ovviamente. Grazie. – jor

+0

@jor - se questa è la risposta corretta, seleziona la casella accanto ad essa in modo che @Cristian ottenga credito. – I82Much

1

In Java, la classe StringBuffer fornisce un stringa mutabile Il metodo replace restituirà lo stesso oggetto.