這個(gè)使用java8的stream可以很好的解決
? ? ? List<Integer> codesInteger = codes.stream().map(Integer::parseInt).collect(Collectors.toList());
轉(zhuǎn)換list列表String到列表Intger励翼,java8提供了stream很好的進(jìn)行操作侨拦。
上代碼
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<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
可以看出直接能把一個(gè)列表的類型轉(zhuǎn)換成另外一個(gè)叠纹,十分方便誉察。
注意避免空指針:
這里轉(zhuǎn)換的時(shí)候注意一下:List codesInteger =?codes.stream().map(Integer::parseInt).collect(Collectors.toList());
這個(gè)codes列表可以是空列表驼卖,但是不能是個(gè)null酌畜。如下:
可以是這樣:
List<String> codes = new ArrayList<String>();
List<String> codes = Collections.EMPTY_LIST;
不可以是這樣:
List<String> codes = null;? ?會(huì)報(bào)錯(cuò)??Exception in thread "main" java.lang.NullPointerException