簡體   English   中英

Java 1.6中是否存在用於類似於lambda的句子的OOB Command接口?

[英]Is there any OOB Command interfaces in Java 1.6 for lambda-like sentences?

抱歉,是否有人問這個問題,但我一直在想,無法谷歌搜索解決方案,也不是因為嘗試失敗。

在一個類中實現Command模式時,此一方法接口會在所有位置不斷彈出。

public interface Command {
   void execute();
}

然后,它會像這樣多次重復使用:

public void doAction1()
{
    perform(new Command () {
        @Override
        public void execute()
        {
            //do some crazy stuff
        }
    });
}
public void doAction2()
{
    perform(new Command () {
        @Override
        public void execute()
        {
            //do some event crazier stuff
        }
    });
}

public void doAction3()
{
    perform(new Command () {
        @Override
        public void execute()
        {
            //do a barrel roll
        }
    });
}

private void perform(Command command)
{
    command.execute();
}

不同的名稱,不同的模塊,甚至不同的軟件---都一遍又一遍地重新實現,混亂的源代碼並沒有做任何新的事情。

是否有任何通用的OOB單方法接口可以使用,而不是每次需要lambda式語句時都創建自己的接口? 以這種方式使用Runnable可以嗎? 在將來的某些源代碼閱讀器的腦海中會不會造成混亂?

PS:現在,我知道Java 1.8帶有lambda和所有功能,但是在我的工作中,我們暫時仍停留在1.6(企業客戶是如此的企業),因此,在此感謝一些考古方面的幫助。

是的, RunnableCallable (如果需要返回結果)非常適合使用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM