ArrayListの<String>は常に文字[]、いない文字列を生成します。どのように私はそれを修正することができますか?

セバスチャン・ミューラー:

私は、引数として文字列を受け取り、与えられた文字列に含まれる単語ある文字列の配列リストを生成する方法を書きたいです。「私は火星に行く」などの文字列は、[、「火星」「に」、「I」、「行く」]のArrayListにオンにする必要があります。ここでは、コードは次のようになります。

    static ArrayList<String> getWords(String str){
        ArrayList<Character> charArr = new ArrayList<Character>();
        ArrayList<String> strArr = new ArrayList<String>();
        char[] chArr = str.toCharArray();
        for (Character i : chArr) {
            if (((int) i) != 32) {
                charArr.add(i);
            }
            else {
                strArr.add(charArr.toString());
                charArr.clear();
            }
        }
        if (! charArr.isEmpty()) strArr.add(charArr.toString());
        return strArr;
    }

問題は、文字列の代わりに必要な配列を得るための、私はcharArraysの配列を取得し、ということです。予想される出力:

[、 "火星" "へ" "I"、 "行きます"、]。

実際の出力:

[I]、[G、O]、[T、O]、[M、R、S]。

また、私は経由を実行しようとしました文字列の中にこれらのchar型の配列を変換することはできませんよ

String string = new String(getWords(str).get(1));

私はこれをどのように修正することができますか?好ましくgetWords法です。

ダニエル・K:

これは簡単に行うことができますString.split()方法:

public static List<String> getWords(String str){
    String[] strArray=str.split(" "); 
    List<String> listStr = new ArrayList<String>();
    for(String strInArray : strArray){
          listStr.add(strInArray);
    }

    return listStr;
}

ここにあるリンクについて詳しく説明しgeeksforgeeksのウェブサイトへのsplit例と方法が。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=314440&siteId=1