如何将char数组转换为字符串数组

时间:2011-07-12 21:37:04

标签: java type-conversion

如何将char数组转换为字符串数组?或者更好的是,你可以取一个字符串并将其转换为包含字符串的每个字符的字符串数组吗?

编辑:谢谢@Emiam!使用他的代码作为临时数组,然后使用另一个数组来摆脱额外的空间,它完美地工作:

String[] tempStrings = Ext.split("");
String[] mStrings = new String[Ext.length()];

for (int i = 0; i < Ext.length(); i++) 
    mStrings[i] = tempStrings[i + 1];

6 个答案:

答案 0 :(得分:18)

  

或者更好的是,你可以取一个字符串并将其转换为字符串数组   包含字符串的每个字符?

我认为这可以通过将字符串拆分为“”来完成。像这样:

String [] myarray = mystring.split("");

编辑: 如果你不想要前导空字符串,你可以使用正则表达式:“(?!^)”

String [] mySecondArray = mystring.split("(?!^)");

答案 1 :(得分:6)

未来人们的美丽Java 8单行:

String[] array = Stream.of(charArray).toArray(String[]::new);

答案 2 :(得分:2)

我做了以下测试来检查Emiam的假设:

public static void main(String[] args) {
    String str = "abcdef";

    String [] array = str.split("");
}

它可以工作,但它在数组的第0位添加一个空字符串。 所以数组是7个字符长,是{“”,“a”,“b”,“c”,“d”,“e”,“f”}。

我已经使用Java SE 1.6进行了此测试。

答案 3 :(得分:1)

蛮力:

String input = "yourstring";
int len = input.length();
String [] result = new String[len];

for(int i = 0; i < len ; i ++ ){
    result[i] = input.substring(i,i+1);
}

答案 4 :(得分:0)

这将给出string []作为结果,但只有一个值,如下所示 String [] str = {“ abcdef”};

答案 5 :(得分:0)

// char []转换为String [] String [] sa1 = String.valueOf(cArray).split(“”);