簡體   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