在Java 中建立函數指標
Java 缺乏函數指標的概念,函數指標通常用於將函數作為參數傳遞給其他函數。但是,有一些替代方案可以提供類似的功能,例如匿名內部類別。
考慮一個涉及多個方法之間不同的小計算的方法。理想的解決方案是傳入一個函數指標來處理該行程式碼。
匿名內部類別來救援
匿名內部類別允許您建立一個直接在程式碼中呼叫介面或抽象類別的實例,而無需定義單獨的類別。這種技術可以用來模擬Java中的函數指標。
例如,如果你想傳入一個帶有傳回整數的String參數的函數,你可以定義一個介面:
interface StringFunction { int func(String param); }
接受此函數指標的方法將採用StringFunction 實例:
public void takingMethod(StringFunction sf) { int i = sf.func("my string"); // do whatever ... }
您可以像這樣呼叫此方法this:
takingMethod(new StringFunction() { public int func(String param) { // body } });
在Java 8 及更高版本中,您可以使用lambda 表達式簡化此程式碼:
takingMethod(param -> bodyExpression);
匿名內部類別透過讓您提供Java 中函數指標的可行替代方案透過介面實作將函數作為參數傳遞。它們使您能夠創建可重複使用的程式碼區塊,可以輕鬆地針對特定任務進行自訂。
以上是如何在 Java 中模擬函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!