2013-04-29 19 views

risposta

14

Uso StringBuilder:

String str; 
Char a, b, c; 
a = 'i'; 
b = 'c'; 
c = 'e'; 

StringBuilder sb = new StringBuilder(); 
sb.append(a); 
sb.append(b); 
sb.append(c); 
str = sb.toString(); 

One-liner:

new StringBuilder().append(a).append(b).append(c).toString(); 

Facendo ""+a+b+c dà:

new StringBuilder().append("").append(a).append(b).append(c).toString(); 

ho chiesto qualche tempo fa related question.

+0

Potrebbe essere un po 'pesante, ma probabilmente è quello che userei ... – Lucas

+0

Questo è totalmente il modo di farlo. –

0

Utilizzare il metodo Character.toString(char).

15

Usa str = ""+a+b+c;

Ecco la prima + è String concat, quindi il risultato sarà un String. Si noti dove la menzogna "" è importante.

O (forse) meglio, utilizzare uno StringBuilder.

+0

Ignora StringBuilder, che il metodo è perfetto – mbehan

+0

fa StringBuilder offre vantaggi intrinseci rispetto a 'str =" "+ a + b + c;'? –

+1

@mbehan, Il compilatore probabilmente ottimizzerà questo approccio in uno StringBuilder. – Lucas

0

Prova questo:

str = String.valueOf(a)+String.valueOf(b)+String.valueOf(c); 

uscita:

ice 
5

È possibile utilizzare StringBuilder:

StringBuilder sb = new StringBuilder(); 
    sb.append('a'); 
    sb.append('b'); 
    sb.append('c'); 
    String str = sb.toString() 

Oppure, se hai già i personaggi, è possibile passare un array di caratteri al costruttore String:

String str = new String(new char[]{'a', 'b', 'c'}); 
+1

+1 per array nel costruttore. –

+0

Se hai già i caratteri, perché non solo 'String str =" abc ";' ed evita la verbosità di un array di caratteri letterali e di un'istanza di stringa? –