直接转换 List<String> 到 List<Integer>

2022-08-31 12:49:13

解析我的文件“s”后包含AttributeGet:1,16,10106,10111

所以我需要获取属性IDGet列表中冒号后面的所有数字。我知道有几种方法可以做到这一点。但是,我们有什么方法可以直接将List<String>转换为List<Integer>由于下面的代码抱怨类型不匹配,所以我尝试做Integer.parseInt,但我想这对List不起作用。这里的 s 是字符串。

private static List<Integer> attributeIDGet = new ArrayList<Integer>();

if(s.contains("AttributeGet:")) {
    attributeIDGet = Arrays.asList(s.split(":")[1].split(","));
}

答案 1

使用 Java8:

stringList.stream().map(Integer::parseInt).collect(Collectors.toList());

答案 2

否,您需要遍历阵列

for(String s : strList) intList.add(Integer.valueOf(s));