public 静态最终 Lambda?

public static final Lambda?

在实用程序中对常见的 lambda 表达式进行分组以避免代码重复是否被认为是好的做法?

最好的方法是什么?现在,我有一个 MathUtils class 和一些 public static final Functions 成员:

public class MathUtils{
    public static final Function<Long, Long> triangle = n -> n * (n + 1) / 2,
        pentagonal = n -> n * (3 * n - 1) / 2,
        hexagonal = n -> n * (2 * n - 1);
}

正如@SotiriosDelimanolis 所说,lambda 只是语法。编译后的代码或多或少与标准函数相同。所以从这个意义上来说,问题就变成了:

Is it considered good practice to group common functions in a utility class to avoid code duplication?

而且我相信您已经知道这个问题的答案:当然,这就是实用程序模式的全部目的

你也可以这样做

public class MathUtils
{
    public static long triangle(long n)
    {
        return n * (n + 1) / 2;
    }

并像

一样使用它
    MathUtils::triangle 

取决于您的品味和用例。