Java 中函數指針的最近替代方案
Java 缺乏函數指針,這在創建執行類似任務但略有不同的方法時提出了挑戰。為了解決這個問題,一個合適的替代方法是使用匿名內部類別。
匿名內部類別解決方案
匿名內部類別允許您定義方法,而無需建立單獨的命名方法班級。它遵循使用所需方法定義介面並在匿名內部類別中實現它的模式。
例如,考慮一個採用字串作為參數並傳回整數的方法。首先,定義一個介面:
interface StringFunction { int func(String param); }
接受指向此函數的指標的方法如下所示:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
要呼叫此方法,請建立一個實現下列功能的匿名內部類別介面:
ref.takingMethod(new StringFunction() { public int func(String param) { // body } });
或者,Java 8 引入了lambda表達式,它為此提供了更簡潔的語法目的:
ref.takingMethod(param -> bodyExpression);
以上是在 Java 中模擬函數指標的最佳方法是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!