我有兴趣在Java中使用仿函数(函数对象).通过快速谷歌搜索我发现这3个包:
Java泛型算法:http://jga.sourceforge.net/
Commons functor:http://commons.apache.org/sandbox/functor/
芒果:http://www.jezuk.co.uk/cgi-bin/view/mango
而且,JGA似乎可能拥有最好的设计.但我怀疑其他人实际使用过一个或多个软件包可能能够提供更多关于这些(也许是其他)函子包的优缺点的见解.
提供0,1和2参数函数的接口.使用Java泛型.用于处理函数的良好算法范围.
提供0,1,2和任意数量的参数函数的类.域对象是这些的子类.使用Java泛型.广泛的算法.包括JFXG(Java Functor eXpression Grammar) - 一种解析语言,旨在使创建任意复杂的仿函数变得容易.提供多种算法来处理函数.
提供0,1和2参数函数的接口以及0,1和2参数过程(不返回任何值).使用Java泛型.良好的算法范围.
为单个参数函数提供Function和Predicate接口.使用Java泛型.仅提供组合函数的撰写方法.很基本的.
提供0,1,2和任意数量的参数函数的接口和类.使用Java泛型.现有方法可以通过提供的函数反射类转换为函数.