如何将 String("dog") 拆分为 Arraylist ['d'、'o'、'g']?
How to split a String("dog") to an Arraylist ['d', 'o', 'g']?
我有一个输入 String
,我希望它的字母在 ArrayList
中。喜欢 "abc"
到 ['a', 'b', 'c']
。
我试过split()
方法,但它的错误是Cannot resolve method 'asList(java.lang.String[])'
userInput = scanner.next();
inputLetters = new ArrayList<Character>(Arrays.<Character>asList(userInput.split("")));
我有 java 13,所以这应该有用
您可以使用 toCharArray 。这是示例代码
String userInput = "abc";
for (char c : userInput.toCharArray()) {
System.out.println(c);
}
当您将 String[]
传递给 Arrays.asList()
时,您将得到 List<String>
,而不是 List<Character>
。
您可以按如下方式将 List<String>
转换为 List<Character>
:
List<Character> inputLetters = Arrays.asList(userInput.split(""))
.stream()
.map(s -> s.charAt(0))
.collect(Collectors.toList());
获得List<Character>
的另一种方法:
List<Character> inputLetters = userInput.chars()
.mapToObj(i -> (char)i)
.collect(Collectors.toList());
当然,如果您不介意使用 char[]
而不是 List<Character>
,只需使用 userInput.toCharArray()
.
此错误是由于 userInput.split("")
生成的 ["a","b","c"]
是一个字符串数组,而不是预期的 ['a','b','c']
这是一个字符数组。
一个简单的解决方法是:
- 将字符串拆分为字符数组
- 创建一个空数组列表
- 遍历char数组并将其添加到arrayList
String userInput = "abc";
char[] inputCharArray = userInput.toCharArray();
List<Character> userList = new ArrayList<>();
for(char c: inputCharArray)
userList.add(c);
此代码应该有效:
public static ArrayList<Character> convertStringToList(String s){
ArrayList<Character> list = new ArrayList<>();
char[] chars = s.toCharArray();
for (char c : chars){
list.add(c);
}
return list;
}
代码只是将 String 转换为 char[] 并遍历数组,形成列表。
我有一个输入 String
,我希望它的字母在 ArrayList
中。喜欢 "abc"
到 ['a', 'b', 'c']
。
我试过split()
方法,但它的错误是Cannot resolve method 'asList(java.lang.String[])'
userInput = scanner.next();
inputLetters = new ArrayList<Character>(Arrays.<Character>asList(userInput.split("")));
我有 java 13,所以这应该有用
您可以使用 toCharArray 。这是示例代码
String userInput = "abc";
for (char c : userInput.toCharArray()) {
System.out.println(c);
}
当您将 String[]
传递给 Arrays.asList()
时,您将得到 List<String>
,而不是 List<Character>
。
您可以按如下方式将 List<String>
转换为 List<Character>
:
List<Character> inputLetters = Arrays.asList(userInput.split(""))
.stream()
.map(s -> s.charAt(0))
.collect(Collectors.toList());
获得List<Character>
的另一种方法:
List<Character> inputLetters = userInput.chars()
.mapToObj(i -> (char)i)
.collect(Collectors.toList());
当然,如果您不介意使用 char[]
而不是 List<Character>
,只需使用 userInput.toCharArray()
.
此错误是由于 userInput.split("")
生成的 ["a","b","c"]
是一个字符串数组,而不是预期的 ['a','b','c']
这是一个字符数组。
一个简单的解决方法是:
- 将字符串拆分为字符数组
- 创建一个空数组列表
- 遍历char数组并将其添加到arrayList
String userInput = "abc";
char[] inputCharArray = userInput.toCharArray();
List<Character> userList = new ArrayList<>();
for(char c: inputCharArray)
userList.add(c);
此代码应该有效:
public static ArrayList<Character> convertStringToList(String s){
ArrayList<Character> list = new ArrayList<>();
char[] chars = s.toCharArray();
for (char c : chars){
list.add(c);
}
return list;
}
代码只是将 String 转换为 char[] 并遍历数组,形成列表。