![](/img/trans.png)
[英]JAVA: How to convert String ArrayList to Integer Arraylist?
[英]Convert String into ArrayList<Integer> with stream
我需要将String转换为ArrayList。
String accountNumberValue = "151616165132132";
我尝试这样做,但它看起来像是硬编码,将char
双重解析为String
和Integer
:
ArrayList<Integer> accNumArray = accountNumberValue.chars()
.map((s)-> Integer.parseInt(String.valueOf(s)))
.collect(Collectors.toList());
有什么简单的方法吗?
您可以这样做:
List<Integer> result=accountNumberValue
.chars() //Get IntStream from a string with char codes
.map(Character::getNumericValue) //Map to the actual int
.boxed() //Box the intstream
.collect(Collectors.toList()); //Collect
您可以使用split
进行一次解析:
List<Integer> accNumArray =
Arrays.stream(accountNumberValue.split(""))
.map(Integer::parseInt)
.collect(Collectors.toList());
也许没有太大的改进,但是您可以使用Character#getNumericValue
:
List<Integer> accNumArray = accountNumberValue.chars()
.map(c -> new Integer(Character.getNumericValue(c)))
.collect(Collectors.toList());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.