Ho una stringa e ho bisogno di attraversarlo come un array di caratteri. Naturalmente il metodo normale è quello di utilizzare toCharArray()
Come posso convertire una stringa in char [] senza copiare l'oggetto?
String str = "Hello";
char[] charArr = str.toCharArray();
Ora, il codice sorgente per toCharArray() è il seguente.
Quindi Java sta creando un nuovo oggetto in memoria di tipo char [] e copia l'oggetto stringa nel nuovo oggetto.
La mia domanda è se sia possibile o meno utilizzare una stringa come char [] senza copiare l'array. La mia intenzione è di risparmiare spazio sulla memoria. Se questo non è possibile, c'è una ragione?
Grazie in anticipo!
Consegnare un riferimento diretto ad una matrice mutabile 'char []' di un oggetto che dovrebbe essere immutabile, sarebbe una pessima idea, specialmente se l'oggetto immutabile in questione è di tipo 'String', che ha per adempiere ai ruoli rilevanti per la sicurezza. – Holger
Se vuoi risparmiare spazio nella memoria, non chiedere l'array 'char []'. Non hai spiegato, perché pensi di averne bisogno. – Holger
Ho bisogno di un array per poterlo scorrere attraverso l'indice. Tuttavia, ciò che non ho realizzato e che Nicolas Filotto ha sottolineato è che le stringhe sono semplicemente una classe che memorizza la stringa in una matrice 'char []'. Doy! Errore dei principianti :) –