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

16-07-06 banq
              

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

Java8函数式实现:

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

C#的函数式实现:

s.Split(",").Select(int.Parse).ToList()
<p>

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

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

s.split(",").map(Number)
<p>

Python实现:

<p>[int(x) for x in s.split(',')]
或
map(int, s.split(','))
<p>

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

Bill Schneider - where I write about software engi