繁体   English   中英

公共静态最终Lambda?

[英]public static final Lambda?

在实用程序类中对常见的lambda表达式进行分组以避免代码重复是一种良好的做法吗?

最好的方法是什么? 现在,我有一个MathUtils类,其中包含一些公共静态最终函数成员:

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);
}

你也可以这样做

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

并使用它

    MathUtils::triangle 

取决于您的口味和用例。

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

将公共函数分组到实用程序类中以避免代码重复是否被视为良好实践?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM