我想效仿如下界面:如何模擬多參數副作用功能
interface MultiSideEffectFunction<T> {
void action(T first, T second);
}
(它會救我脫離不必引入一個新的接口)
是有首選番石榴的方法來做到這一點?
注:我想和
Function<Pair<T>, Void>
這樣做,但這裏有兩個問題,這使得最好創建一個新的接口:
- 我們必須定義一個名爲
Pair<T>
類,它看起來很像一個Map.Entry<T, T>
更合適的getter名稱(作爲第二個問題:是否有像這樣的Guava類型?)。 Void
返回類型總是很痛苦 - 最好是有一個真正的void
簽名。
感謝凱文 - 絕地告訴我這個消息。但是,我覺得這是一種好奇心,而不是我可能會用到的東西。如果他們打算建立一個圖書館來消化Java,其中包括在編譯階段生成代碼的註釋,那麼我認爲他們最好花時間想出一個基於註釋的解決方案,例如getter/setter/listener (Java中的樣板的第一個原因,恕我直言)。他們還故意通過拒絕使用先進的for循環來膨脹「傳統Java」示例 - 這只是糟糕的營銷並且不會欺騙任何人。 – fommil
OMG,我剛剛發現了[Lombok](http://projectlombok.org/),並且看看我能否在Netbeans/Maven之間正常工作。凱文,我感謝你超過你可能想象的激發我追求這一探索線! – fommil
傑迪的例子的好處...我沒有注意到這一點。我不是編譯時註釋處理的粉絲,這就是爲什麼我開發了一個庫,以便在運行時將函數類對象封裝爲方法,並在像Guava,Functional Java和Jedi之類的庫上工作。 –