2013-04-29 55 views

回答

14

使用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(); 

一行代码:

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

""+a+b+c给出:

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

我以前related question问了一些时间。

+0

这可能有点重量级,但它可能是我会用... – Lucas 2013-04-29 15:26:06

+0

这是完全的方式来做到这一点。 – 2013-04-29 15:27:30

0

使用Character.toString(char)方法。

15

使用str = ""+a+b+c;

这里第一+String CONCAT,这样的结果将是一个String。请注意0​​的位置很重要。

或者(也许)更好,请使用StringBuilder

+0

忽略StringBuilder的,该方法是完美的 – mbehan 2013-04-29 15:25:35

+0

不StringBuilder提供超过'str =“”+ a + b + c;'的任何固有优势。 – 2013-04-29 15:27:22

+1

@mbehan,编译器可能会将这种方法优化为一个StringBuilder。 – Lucas 2013-04-29 15:27:28

0

试试这个:

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

输出:

ice 
5

您可以使用StringBuilder:

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

或者,如果你已经有了人物,你可以传递一个字符数组的String构造:

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

对于构造函数中的数组+1。 – 2013-04-29 15:33:32

+0

如果你已经有了字符,为什么不只是'String str =“abc”;'并且避免了字面字符数组和字符串实例化的冗长? – 2016-08-06 06:49:52