PDA

View Full Version : [JAVA] Cast da Char a String


x3d0
23-01-2012, 17:02
Se eseguo questo codice


char carattere = 'a';

String stringa = carattere.toString();


ottengo l'errore: "char cannot be dereferenced". Cosa significa?


Ho risolto facendo

String stringa = "" + carattere;

Ma perchè nel primo caso non funziona?

GByTe87
23-01-2012, 17:13
Semplicemente, char non è una classe, ma un tipo primitivo; quindi stai cercando di invocare metodi che non esistono. :)

Come soluzione, o lo boxi all'interno di un'istanza della classe Character o usi il metodo statico toString() della classe Character.

x3d0
23-01-2012, 17:28
Semplicemente, char non è una classe, ma un tipo primitivo; quindi stai cercando di invocare metodi che non esistono. :)

Come soluzione, o lo boxi all'interno di un'istanza della classe Character o usi il metodo statico toString() della classe Character.

Capito. Puoi farmi un esempio di "boxare" all'interno di un istanza della classe Character?

GByTe87
23-01-2012, 17:34
char a = 'a';

// Usando la classe wrapper Character (Boxing)
Character c = new Character(a);
String s = c.toString();

// Usando il metodo statico Character.toString()
String s = Character.toString(a);