有没有办法在Java中连接char
以形成String
?
示例:
String str;
Char a, b, c;
a = 'i';
b = 'c';
c = 'e';
str = a + b + c; // thus str = "ice";
答案 0 :(得分:19)
使用str = ""+a+b+c;
此处第一个+
为String
concat,因此结果为String
。请注意""
所在的位置很重要。
或者(可能)更好,使用StringBuilder
。
答案 1 :(得分:17)
使用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。
答案 2 :(得分: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'});
答案 3 :(得分:1)
如果字符串的大小是固定的,则使用字符数组可能会更容易。 如果您必须执行很多操作,它的速度也会快一点。
char[] chars = new char[3];
chars[0] = 'i';
chars[1] = 'c';
chars[2] = 'e';
return new String(chars);
此外,我在您的原始问题中注意到,您使用的是 Char 类。 如果您的字符不可为空,则最好使用小写的 char 类型。
答案 4 :(得分:0)
使用Character.toString(char)
方法。
答案 5 :(得分:0)
试试这个:
str = String.valueOf(a)+String.valueOf(b)+String.valueOf(c);
输出:
ice