java - Best Java Functor lib : JGA, commons functor, mango, or...?

标签 java functor

我对在 Java 中使用仿函数(函数对象)很感兴趣。通过快速谷歌搜索,我找到了这 3 个包:

在 3 中,JGA 似乎拥有最好的设计。但我怀疑这里实际使用过一个或多个包的其他人可能能够就这些(可能还有其他)仿函数包的优缺点提供更多见解。

最佳答案

芒果

为 0、1 和 2 参数函数提供接口(interface)。使用 Java 泛型。用于处理函数的大量算法。

JGA

为 0、1、2 和任意数量的参数函数提供类。域对象将这些子类化。使用 Java 泛型。广泛的算法。包括 JFXG(Java Functor eXpression Grammar)——一种解析语言,旨在使创建任意复杂的仿函数变得容易。提供多种算法来处理函数。

Apache Commons 仿函数

为 0、1 和 2 参数函数以及 0、1 和 2 参数过程(不返回任何值)提供接口(interface)。使用 Java 泛型。算法范围广。

Google Guava(是 Google Collection )

为单参数函数提供 Function 和 Predicate 接口(interface)。使用 Java 泛型。仅提供组合函数的 compose 方法。非常基本。

功能性

为0、1、2和任意数量的参数函数提供接口(interface)和类。使用 Java 泛型。可以通过提供的函数反射类将现有方法转换为函数。

关于java - Best Java Functor lib : JGA, commons functor, mango, or...?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/651541/

相关文章:

C++ 仿函数优势——保持状态

Java 多行输入

java - JTextArea txt; txt.getText() 跳过 "\n"

java - InjectMocks 对象上的 org.mockito.exceptions.misusing.NotAMockException

c++ - 为什么我会收到此 'redeclared as different kind of symbol' 错误?

haskell - 任何与 fmap 具有相同多态类型的函数都必须等于 fmap?

java - 使用 ElasticSearch Java API 模糊查询日期

java - 如何使用 Spring Boot 发送异步电子邮件

c++ - Functor -> 必须调用对非静态成员函数的引用

C++ 仿函数和零