2014-05-10 4 views
1

배열에 문자열이 있습니다. char 배열로 분할하고 싶습니까? 그것은 가능합니까 ??split 문자열 배열을 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 
    } 
+1

나는 그런 코드를 볼 때'문자는 [] charArrays = 새로운 숯불 [500] charArrays = gf.toCharArray();'나도 새로운 프로세서의 perfomance 이득은 어디로. – Ingo

답변

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(); 
    } 
3

gfString[]입니다 :

나는 이런 짓을. 대신 하나의 String의 방법을 적용 할 수

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; 
} 
+0

어디에서 기능을 끝내는 형제입니까? – user3508182

+0

@ user3508182 죄송합니다. 내 잘못입니다. 코드가 수정되었습니다. –

+0

오류가 발생했습니다. http://i57.tinypic.com/30tkrkm.png – user3508182

0

가 여기에 짧은 버전입니다 :

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

당신이 (IMO) 달성/필요가 원하는 것을 더 구체적인 예입니다 :

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]); 
0

이 쓴 : 내가 배열에 문자열을 그들을 char 배열로 나누고 싶습니까? 그것은 가능합니까 ??

예 가능합니다. 처음에 가입해야합니다.다음 문자 배열로을 나눕니다. 다음 사항을 확인하시기 바랍니다

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

char[] charArrays = result.toCharArray(); 
관련 문제