3 回答
TA贡献1780条经验 获得超1个赞
你可以用Character.toString(char)。请注意,此方法只是返回一个调用String.valueOf(char),这也有效。
正如其他人所指出的那样,字符串连接也可以作为一种捷径:
String s = "" + 's';
但这归结为:
String s = new StringBuilder().append("").append('s').toString();
这是效率较低的,因为StringBuilder它由一个char[](过度分配的StringBuilder()to 16)支持,只有那个数组被结果防御性地复制String。
String.valueOf(char)通过将char单元素数组包装并将其传递给包私有构造函数来“进入后门” String(char[], boolean),从而避免了数组副本。
TA贡献1895条经验 获得超3个赞
下面是转换为char c到String s的各种方法(按速度和效率的降序排列)
char c = 'a';
String s = String.valueOf(c); // fastest + memory efficient
String s = Character.toString(c);
String s = new String(new char[]{c});
String s = String.valueOf(new char[]{c});
String s = new Character(c).toString();
String s = "" + c; // slowest + memory inefficient
添加回答
举报