直接将 List<String> 转换为 List<Integer>

新手上路,请多包涵

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

所以我需要获取 attributeIDGet 列表中冒号后的所有数字。我知道有几种方法可以做到这一点。但是有什么方法可以 直接将 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(","));
}

原文由 AKIWEB 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

不,你需要遍历数组

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

原文由 Kevin 发布,翻译遵循 CC BY-SA 3.0 许可协议

使用Java8:

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

原文由 Dawid Stępień 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题