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
取决于您的品味和用例。
在实用程序中对常见的 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
取决于您的品味和用例。