在 Java 中将字符数组转换为字符串
我有一个数组(不是char数组),我想通过组合数组中的所有字符将其转换为字符串。Character
我已经尝试了以下给定的:Character[] a
String s = new String(a) //given that a is a Character array
但这不起作用,因为 a 不是 char 数组。我将不胜感激任何帮助。
我有一个数组(不是char数组),我想通过组合数组中的所有字符将其转换为字符串。Character
我已经尝试了以下给定的:Character[] a
String s = new String(a) //given that a is a Character array
但这不起作用,因为 a 不是 char 数组。我将不胜感激任何帮助。
最有效的方法很可能是这样的:
Character[] chars = ...
StringBuilder sb = new StringBuilder(chars.length);
for (Character c : chars)
sb.append(c.charValue());
String str = sb.toString();
笔记:
charValue()
Character.toString()
但是,我可能会接受@Torious优雅的答案,除非性能是一个重大问题。
顺便说一句,JLS说编译器可以使用等效的StringBuilder代码来优化字符串串联表达式......但它不批准跨多个语句的优化。因此,如下所示:
String s = ""
for (Character c : chars) {
s += c;
}
可能会执行许多单独的串联,创建(并丢弃)大量中间字符串。