我需要将字符串转换为 ArrayList。String accountNumberValue = "151616165132132";我尝试这样做,但它看起来像用双重解析硬编码char到Stringand Integer: ArrayList<Integer> accNumArray = accountNumberValue.chars()
.map((s)-> Integer.parseInt(String.valueOf(s)))
.collect(Collectors.toList());有什么简单的方法吗?
3 回答

MM们
TA贡献1886条经验 获得超2个赞
您可以使用以下方法进行一次解析split
:
List<Integer> accNumArray = Arrays.stream(accountNumberValue.split("")) .map(Integer::parseInt) .collect(Collectors.toList());

撒科打诨
TA贡献1934条经验 获得超2个赞
也许没有太大的改进,但您可以使用Character#getNumericValue
:
List<Integer> accNumArray = accountNumberValue.chars() .map(c -> new Integer(Character.getNumericValue(c))) .collect(Collectors.toList());

至尊宝的传说
TA贡献1789条经验 获得超10个赞
你可以这样做:
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
添加回答
举报
0/150
提交
取消