这个使用java8的stream可以很好的解决
List<Integer> codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());
转换list列表String到列表Intger,java8提供了stream很好的进行操作。
上代码
public static void main(String[] args) {
List<String> codes = new ArrayList<String>();
codes.add("1");
codes.add("2");
codes.add("3");
codes.add("4");
codes.add("5");
codes.add("6");
for (String code : codes) {
System.out.println("这是String类型:"+code);
}
System.out.println("+++++++++++++++++++++++++++++++++");
List<Integer> codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());
for (Integer code : codesInteger) {
System.out.println("这是Integer类型:"+code);
}
}
输出
这是String类型:1
这是String类型:2
这是String类型:3
这是String类型:4
这是String类型:5
这是String类型:6
+++++++++++++++++++++++++++++++++
这是Integer类型:1
这是Integer类型:2
这是Integer类型:3
这是Integer类型:4
这是Integer类型:5
这是Integer类型:6
可以看出直接能把一个列表的类型转换成另外一个,十分方便。
注意避免空指针:
这里转换的时候注意一下:List<Integer> codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());
这个codes列表可以是空列表,但是不能是个null。如下:
可以是这样:
List<String> codes = new ArrayList<String>();
List<String> codes = Collections.EMPTY_LIST;
不可以是这样:
List<String> codes = null; 会报错 Exception in thread "main" java.lang.NullPointerException
博客介绍了使用Java8的Stream将List<String>转换为List<Integer>的方法,指出使用Stream操作可方便地实现列表类型转换。同时提醒在转换时要避免空指针问题,codes列表可以为空列表,但不能为null,否则会报错。

2125

被折叠的 条评论
为什么被折叠?



