Lambda 表達式和方法引用提供了在 Java 中定義函數式介面的替代方法。然而,當具有傳回類型的方法引用看起來與 Consumer 介面相符時,就會出現混亂,儘管 Consumer 的接受方法具有 void 回傳類型。
正如 Brian Goetz 所解釋的,這種行為是故意的。它允許開發人員以與直接呼叫方法相同的方式使方法適應功能介面。因此,傳回值方法可以與 Consumer 介面一起使用,忽略回傳值。
Lambda 表達式可以有兩種形式:
方法引用是定義函數式介面的另一種方式。但是,並非所有方法都可以用作 Consumer 的方法參考。具體來說:
唯一與值不相容的表達式形式是 (arg) ->方法ReturningVoid(arg)。這是因為它沒有傳回值。
方法引用與 Consumer 的相容性取決於傳回型別以及表達式是否可以用作語句。理解這個概念有助於闡明 lambda 和方法引用如何與 Java 中的函數式介面互動。
以上是帶有返回類型的方法如何與 Java 的使用者介面一起使用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!