将数字字符串转换为整数列表

时间:2015-07-16 04:34:36

标签: java java-8 java-stream

我正在对java 8流功能进行练习,所以想到将问题应用于将数字字符串转换为整数列表

典型的测试看起来像

 @Test
    public void testGetListofIntegersFromString(){
        List<Integer> result = getIntegers("123456780");
        assertEquals(Arrays.asList(1,2,3,4,5,6,7,8,0),result);
    }

我写了下面的方法

List<Integer> getIntegers(String value) {
       return IntStream.rangeClosed(0, value.length() - 1).map(i -> Integer.valueOf(value.substring(i,i+1))).collect(?????);
    }

我不知道用哪个函数来获取整数列表 我试过collect(Collectors.toList())它给出了编译错误。

请建议我们是否可以遵循不同的解决方案。

1 个答案:

答案 0 :(得分:4)

使用String.chars():

"123456780".chars().map(c -> c-'0').boxed().collect(Collectors.toList());