String转成List<Integer>
时间: 2024-05-21 22:13:06 浏览: 192
可以使用Java的split()方法将String按照指定分隔符分割成数组,然后通过循环将每个元素转化为Integer类型并添加到List中。具体代码如下:
String str = "1,2,3,4,5";
List<Integer> list = new ArrayList<>();
String[] strArr = str.split(",");
for (String s : strArr) {
list.add(Integer.parseInt(s));
}
希望能帮到你!
相关问题
List<String> 转成List<Integer>
如果你有一个`List<String>`,并且你想将其转换为`List<Integer>`,你需要确保所有字符串都是可以转换为整数的形式。你可以通过迭代整个列表,然后对每个字符串应用`Integer.parseInt()`或`Integer.valueOf()`方法来完成这个转换。这里是一个简单的示例:
```java
List<String> stringList = ...; // 假设这是一个包含整数字符串的列表
List<Integer> integerList = new ArrayList<>();
for (String str : stringList) {
try {
int num = Integer.parseInt(str);
integerList.add(num);
} catch (NumberFormatException e) {
// 如果字符串无法转换为整数,可以选择忽略、记录错误或者抛出异常
System.out.println("Cannot convert " + str + " to an integer.");
}
}
```
在这个例子中,我们创建了一个新的`ArrayList<Integer>`并将转换后的整数添加进去。如果遇到无法转换的字符串(如含有非数字字符),我们会捕获`NumberFormatException`并选择合适的策略处理。
**相关问题--:**
1. 如果原始`stringList`中有字符串无法转换怎么办?
2. 如何避免在转换过程中引发`NumberFormatException`?
3. 如果需要保留原生字符串列表,而不是转换后的整数列表,该怎么做?
List<String> 转换List<Integer>
可以使用Java 8中的Stream API来将`List<String>`转换为`List<Integer>`,示例代码如下:
```
List<String> stringList = Arrays.asList("1", "2", "3", "4");
List<Integer> intList = stringList.stream().map(Integer::parseInt).collect(Collectors.toList());
```
上述代码中,`stringList`是一个包含字符串元素的`List`,`intList`是将`stringList`中的元素转换为整数后得到的`List`。具体来说,我们使用`stream()`方法将`stringList`转换为`Stream`,然后使用`map()`方法将每个字符串元素转换为整数,最后使用`collect()`方法将转换后的整数元素收集为一个`List`对象。
需要注意的是,如果`stringList`中包含非数字字符串,则上述代码会抛出`NumberFormatException`异常。在实际使用中,我们需要根据具体情况进行错误处理。
阅读全文