首頁  >  文章  >  Java  >  如何使用匿名內部類別或 Lambda 表達式模擬 Java 中的函數指標?

如何使用匿名內部類別或 Lambda 表達式模擬 Java 中的函數指標?

Patricia Arquette
Patricia Arquette原創
2024-11-20 13:39:22637瀏覽

How Can I Simulate Function Pointers in Java Using Anonymous Inner Classes or Lambda Expressions?

Java 中函數介面作為函數指標

在Java 中,函數指標不可用,匿名內部類別或lambda 表達式是適當的替代方案.

匿名內部類別

想像一下,您需要執行類似操作但在單行計算中略有不同的方法。若要使用匿名內部類別實作此功能:

  1. 定義一個包含您想要封裝的函數的介面。
interface StringFunction {
    int func(String param);
}
  1. 建立一個接受介面的實例作為參數。
public void takingMethod(StringFunction sf) {
    int i = sf.func("my string");
    // Operations...
}
  1. 使用匿名內部類別呼叫方法:
ref.takingMethod(new StringFunction() {
    public int func(String param) {
        // Implementation...
    }
});

Lambda 表達式( Java 8 )

語法上更簡單,您可以利用lambda 表達式來實現相同的結果:

ref.takingMethod(param -> {
    // Implementation...
});

透過利用匿名內部類別或lambda 表達式,您可以在Java,增強程式碼的複用性和靈活性。

以上是如何使用匿名內部類別或 Lambda 表達式模擬 Java 中的函數指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn