将String数组拆分为char数组,即String []到char []

时间:2014-05-10 17:07:11

标签: java string

我有数组中的字符串我想将它们分成char数组?有可能??

我这样做了:

    // skipped the portion of code
    void somefunction(String[] gf){
      char[] charArrays = new char[500];
      charArrays = gf.toCharArray();   // not allowing to use toCharArray

    // skipped the portion of code
    }

4 个答案:

答案 0 :(得分:3)

gfString[]。您可以在单个String中应用该方法:

for (String s : gf) {
    charArrays = s.toCharArray();
}

以下是您想要/需要实现的更具体的例子(IMO):

void somefunction(String[] gf) {
    List<char[]> data = new ArrayList<char[]>();
    int wholeSize = 0;
    for (String s : gf) {
        char[] charArray = s.toCharArray();
        data.add(charArray);
        wholeSize += charArray.length;
    }
    char[] wholeStringIntoCharArray = new char[wholeSize];
    int i = 0;
    for (char[] charArray : data) {
        for (char c : charArray) {
            wholeStringIntoCharArray [i++] = c;
        }
    }
    //return wholeStringIntoCharArray;
}

答案 1 :(得分:2)

    int size = 0;
    for (String s : input) {
        size += s.length();
    }

    char[] output = new char[size];
    int start = 0;
    for (String s : input) {
        System.arraycopy(s.toCharArray(), 0, output, start, s.length());
        start+=s.length();
    }

答案 2 :(得分:0)

这是一个较短的版本:

    String[] stringArray = new String[]{"abc", "qwe", "www"};
    List<Character> charList = new ArrayList<Character>();
    for (String string : stringArray) {
        for (char ch : string.toCharArray()) {
            charList.add(ch);
        }
    }
    Character[] finalArray = charList.toArray(new Character[0]);

答案 3 :(得分:0)

你这写道: 我在数组中有字符串我想将它们分成char数组?有可能??

是的,这是可能的。 您必须先加入然后拆分才能加入字符数组。尝试以下方法:

String result = ("" + Arrays.asList(gf)).replaceAll("(^.|.$)", "").replace(", ", "" );

char[] charArrays = result.toCharArray();