将数字转为整数集合Java8 C#和Javascript函数式实现

将带有逗号的字符串数字“1,2,3,4”转为一个整数型的List集合,Java8在函数式实现上弱于C和Javascript

Java8函数式实现:


Stream.of(s.split(",")).map(Integer::parseInt).collect(Collectors.toList())

C的函数式实现


s.Split(",").Select(int.Parse).ToList()

C#的魔术LINQ和拓展方法消除了将数组转为Stream在语法上臃肿,ToList()要简洁于collect(Collectors.toList());


Javascript函数式实现更好,最新ES6支持:


s.split(",").map(Number)

Python实现:


[int(x) for x in s.split(',')]

map(int, s.split(','))

对比下来看,Java 8在stream上的操作比较弱一些了。

Bill Schneider - where I write about software engi