2
我正在編寫一個Java類(它是一個GUI小部件),它將從Clojure中使用。當Java類被初始化時,它必須被提供一個回調函數。當滿足某些條件時,Java類將使用一個參數調用該函數。適用於需要參數的Clojure函數的Java類型?
我想弄清楚回調函數應該在Java代碼中聲明的類型。
我知道Clojure函數實現Runnable
和Callable
,但Runnables和Callables都不能在調用時接受參數。當然,Clojure函數也實現了IFn
,但我更喜歡使用標準的Java類型。有任何想法嗎?
「奇怪的是,經過近20年的歷史,Java平臺沒有標準的類或者lambda類對象的接口!」那麼,它很快就會擁有:) JDK8包含一系列功能接口,包括'Function'和'Consumer '。不知道Clojure是否會利用它... –
太棒了,我期待在混合Clojure/Java時使用它們。我能爲Clojure傢伙想到的唯一原因*不是利用這些優勢,而是保持與舊JRE的兼容性。 –