gpt4 book ai didi

java - ArrayList 始终生成 char[],而不是字符串。我该如何解决?

转载 作者:行者123 更新时间:2023-11-29 10:08:27 26 4
gpt4 key购买 nike

我想编写一个方法,该方法将一个字符串作为参数并生成一个字符串数组列表,这些字符串是给定字符串中包含的单词。例如。字符串“I go to Mars”应该变成 Arraylist ["I","go","to","Mars"]。这是代码:

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

问题是,我得到的不是所需的字符串数组,而是 charArray 数组。预期输出:

["I","go","to","Mars"].

实际输出:

[[I],[g,o],[t,o],[M,a,r,s]].

我也无法将这些 char 数组转换为字符串,我试图通过

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

我该如何解决这个问题?最好在 getWords 方法中。

最佳答案

这可以通过 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;
}

这是 link访问 geeksforgeeks 网站,该网站通过示例详细解释了 split 方法。

关于java - ArrayList<String> 始终生成 char[],而不是字符串。我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57744951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com