在Java中有没有一种方法将char
连接起来形成一个String
?
例如:
String str;
Char a, b, c;
a = 'i';
b = 'c';
c = 'e';
str = a + b + c; // thus str = "ice";
在Java中有没有一种方法将char
连接起来形成一个String
?
例如:
String str;
Char a, b, c;
a = 'i';
b = 'c';
c = 'e';
str = a + b + c; // thus str = "ice";
使用 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();
我之前询问过一个相关问题。
使用str = ""+a+b+c;
这里的第一个+
是String
连接符,所以结果将会是一个String
。注意""
的位置很重要。
或者(可能更好),使用StringBuilder
。
str = ""+a+b+c;
وœ‰ن»€ن¹ˆه›؛وœ‰çڑ„ن¼کهٹ؟هگ—ï¼ں - Jared Nielsen""+a+b+c
将会得到 new StringBuilder().append("").append(a).append(b).append(c).toString();
。请阅读此答案:https://dev59.com/627Xa4cB1Zd3GeqPudd8 - Adam Stelmaszczyk StringBuilder sb = new StringBuilder();
sb.append('a');
sb.append('b');
sb.append('c');
String str = sb.toString()
String str = new String(new char[]{'a', 'b', 'c'});
String str = "abc";
,避免使用冗长的字符数组和字符串实例化呢? - Justin Cchar[] chars = new char[3];
chars[0] = 'i';
chars[1] = 'c';
chars[2] = 'e';
return new String(chars);
另外,我注意到在您的原始问题中,您使用了Char类。如果您的字符不可为空,最好使用小写的char类型。
试试这个:
str = String.valueOf(a)+String.valueOf(b)+String.valueOf(c);
输出:
ice
Character.toString(char)
方法。我会使用String.format()
:
char c = 'a';
String s = String.format("%c%c", c, 'b'); // s is "ab"