将Character[]
转换为char[]
或String
的最佳方式是什么?
一种方法是手动循环当前在for(char c : CharacterArray)
循环中的字符数组,并附加到StringBuilder
。 StringBuilder
似乎也直接接受Character[]
,但这就是全部吗?
答案 0 :(得分:3)
commons-lang有一个toPrimitive method,但在标准API中没有这样的东西。唯一的方法是遍历数组并将每个Character转换为char(并决定如何处理null值)。
答案 1 :(得分:2)
我建议您使用简单的循环将Character[]
转换为char[]
,然后将其传递给新的String();
Character[] characters = new Character[128];
char[] chars = new char[characters.length];
int length = characters.length;
for(int i=0; i<length; i++) {
chars[i] = characters[i].charValue();
}
String string = new String(chars);
另一种选择是创建一个StringBuilder
并循环并单独添加每个字符。
Character[] characters = new Character[128];
StringBuilder sb = new StringBuilder(characters.length);
for(Character c : characters) {
sb.append(c);
}
String string = sb.toString();
我觉得第一种方法可能更有效率,但我不确定。