有没有办法在Java中连接char
形成a ?String
例子:
String str;
Char a, b, c;
a = 'i';
b = 'c';
c = 'e';
str = a + b + c; // thus str = "ice";
有没有办法在Java中连接char
形成a ?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
concat,所以结果将是String
. 注意""
谎言在哪里很重要。
或者(也许)更好,使用StringBuilder
.
您可以使用 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'});
如果字符串的大小是固定的,您可能会发现使用字符数组更容易。如果你必须经常这样做,它也会快一点。
char[] chars = new char[3];
chars[0] = 'i';
chars[1] = 'c';
chars[2] = 'e';
return new String(chars);
另外,我在你原来的问题中注意到,你使用Char类。如果您的字符不可为空,最好使用小写字符类型。
使用Character.toString(char)
方法。
试试这个:
str = String.valueOf(a)+String.valueOf(b)+String.valueOf(c);
输出:
ice
我会使用String.format()
:
char c = 'a';
String s = String.format("%c%c", c, 'b'); // s is "ab"