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

banq 16-07-06
              

将带有逗号的字符串数字“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