2 回答

TA貢獻(xiàn)1808條經(jīng)驗(yàn) 獲得超4個(gè)贊
() -> {}
是一個(gè) Java 8
的新特性:lambda
表達(dá)式。
命令模式在 Java 8
以前的實(shí)現(xiàn)是類似這樣的:
pulic interface Command { void doCommand(); }
這種單方法的接口,在 Java 8
里允許使用簡(jiǎn)潔的 lambda
表達(dá)式來描述,如果這個(gè)方法有參數(shù),比如:
public interface Command { void doCommand(int arg1, int arg2); }
那么,就可以用 (arg1, arg2) -> { System.out.println(arg1 + arg2); }
來描述一個(gè)接口的實(shí)現(xiàn)。
這是 函數(shù)式編程 的一種體現(xiàn),你可以多了解一下 Java 8
這方面的新特性。
所以回過頭來說,() -> {}
表示的是,實(shí)現(xiàn)了某個(gè)接口的空參、啥都不干的接口實(shí)例。
具體實(shí)現(xiàn)的是哪個(gè)接口取決于 onCommands
的類型聲明。
so,你這個(gè)例子里意思就是:
創(chuàng)建兩個(gè)數(shù)組,分別是開啟時(shí)要執(zhí)行的命令、關(guān)閉時(shí)要執(zhí)行的命令,數(shù)組長度為7;
為了初始化,避免空指針,為這兩個(gè)數(shù)組賦值 啥都不干 的 接口實(shí)例 是最合適的。
- 2 回答
- 0 關(guān)注
- 1333 瀏覽
添加回答
舉報(bào)