我正在爲我們創建的API編寫演示代碼,並且我一直在遇到同樣的問題,在那裏我重複自己,一遍又一遍的廣告噁心。我很痛苦地意識到Java計劃添加閉包,但我現在無法訪問它們。這裏是重複遍,我想只是框到它自己的小角落的地方:在Java中編寫函數?
public BarObj Foo(Double..._input){
try{
//things that vary per function
//but everything else...
} catch(NullException _null){
m_Logger.error("Null error exception caught in Blah::Foo");
return null;
} catch(Exception ex){
m_Logger.error(ex.getMessage());
return null;
}
}
關於我想到了去解決這個問題的唯一方法是通過傳遞Method
成一個函數與它承載在try-catch邏輯,像這樣包裝這一切在其他功能:
public BarObj MyFunc(Double..._input){
return compose("MyLogic",_input);
}
private BarObj MyLogic(Double..._input)
throws Exception{
//stuff
}
,但它看起來醜陋,它承載了太多的樣板。有沒有更簡單的方法來編寫Java中的函數?
我覺得有些提議Java中的閉包擴展看起來更醜陋。 – DerMike 2010-02-05 17:09:11