List转List之java8

这个使用java8的stream可以很好的解决

      List codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());

转换list列表String到列表Intger,java8提供了stream很好的进行操作。

上代码

publicstaticvoidmain(String[] args){

List codes =newArrayList();

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 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 codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());

这个codes列表可以是空列表,但是不能是个null。如下:

可以是这样:

List codes = new ArrayList();

List codes = Collections.EMPTY_LIST;

不可以是这样:

List codes = null;   会报错  Exception in thread "main" java.lang.NullPointerException

你可能感兴趣的:(List转List之java8)