rad*_*att 5 java functional-programming higher-order-functions
我读了一篇关于Joel On Software的文章,关于使用高阶函数通过使用map和reduce来大大简化代码的想法.他提到在Java中这很难做到.文章:http://www.joelonsoftware.com/items/2006/08/01.html
下面的文章中的示例循环遍历数组,并使用作为数组中每个元素的参数传递的函数fn:
function map(fn, a)
{
for (i = 0; i < a.length; i++)
{
a[i] = fn(a[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
这将在实践中类似于以下调用:
map( function(x){return x*2;}, a );
map( alert, a );
Run Code Online (Sandbox Code Playgroud)
理想情况下,我想编写一个map函数来处理数组,或者尽可能编写任何类型的Collections.
我一直在互联网上四处看看,我很难找到有关这个问题的资源.首先,java中的匿名函数是否可行?这有可能以另一种方式吗?它将在未来的java版本中提供吗?如果可能,我该怎么办?
我想如果在Java中这是不可能的,人们会用某种"模式"/技术来达到同样的效果,因为我认为匿名函数在软件世界中是一个非常强大的工具.我能找到的唯一类似的问题是:Java泛型 - 实现像map这样的高阶函数,这对我来说毫无意义.
| 归档时间: |
|
| 查看次数: |
5318 次 |
| 最近记录: |