首頁 > Java > java教程 > Java 中如何將函數當作參數傳遞?

Java 中如何將函數當作參數傳遞?

Mary-Kate Olsen
發布: 2024-12-12 22:08:13
原創
1041 人瀏覽過

How Can Functions Be Passed as Parameters in Java?

在 Java 中將函數作為參數傳遞

在 Java 中,可以利用 Java 8 的 lambda 表達式將函數作為參數傳遞。當使用包含單一抽象方法(SAM 類型)的介面時,可以替換 lambda 表達式,從而實現簡潔的程式碼。例如:

interface MyInterface {
    String doSomething(int param1, String param2);
}

MyInterface myInterface = (p1, p2) -> { return p2 + p1; };
登入後複製

或者,方法引用可以提供更清晰的語法:

new Thread(this::someMethod).start();
登入後複製

Pre-Java 8 Approach

之前Java 8 中,命令模式通常用於將函數作為參數傳遞。這涉及將函數包裝在Callable 等介面:

public T myMethod(Callable<T> func) {
    return func.call();
}
登入後複製

例如:

public int methodToPass() { return 3; }

public void dansMethod(int i, Callable<Integer> myFunc) { }
登入後複製

要呼叫函數,將使用匿名內部類別:

dansMethod(100, new Callable<Integer>() {
   public Integer call() {
        return methodToPass();
   }
});
登入後複製

請記住,這種方法本質上等同於其他語言中的函數指標。

以上是Java 中如何將函數當作參數傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板