将Character []转换为String

时间:2011-06-28 20:50:17

标签: java arrays character

Character[]转换为char[]String的最佳方式是什么?

一种方法是手动循环当前在for(char c : CharacterArray)循环中的字符数组,并附加到StringBuilderStringBuilder似乎也直接接受Character[],但这就是全部吗?

2 个答案:

答案 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();

我觉得第一种方法可能更有效率,但我不确定。