我正在对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())
它给出了编译错误。
请建议我们是否可以遵循不同的解决方案。
答案 0 :(得分:4)
使用String.chars():
"123456780".chars().map(c -> c-'0').boxed().collect(Collectors.toList());