首頁 > Java > java教程 > Java 中的 Lambda 表達式是否相等?

Java 中的 Lambda 表達式是否相等?

Susan Sarandon
發布: 2024-10-29 19:21:30
原創
358 人瀏覽過

Can Lambdas Be Compared for Equality in Java?

比較Lambda:實作與解釋

問題:

問題:

給定一個物件列表使用給定一個物件列表使用lambda 表達式定義,是否可以檢查和比較它們是否相等?

實現注意事項:

從實現角度來看,非捕獲 lambda 的計算結果相同捕獲站點生成相同的實例,可以使用引用相等性進行比較。然而,在不同站點捕獲的不同 lambda 表達式可能會映射到不同的合成類別。

規範意義:

語言規範僅保證計算 lambda 表達式的結果是目標函數介面的實例。它不指定結果的身份或別名。這種靈活性允許實現透過不為每個 lambda 求值創建唯一實例來優化效能。

方法引用相等性:

方法引用可以提供調整定義的實際場景支持作為聽眾使用的平等。未來的修訂正在考慮這一點。

深入評估:

確定兩個lambda 的相等性需要比較它們的行為函數、捕獲的參數以及它們的功能接口被轉換為.然而,獲取不可序列化lambda 的此資訊可能具有挑戰性。

設計決策:Java 專家小組的結論是,公開 lambda 相等性比較的資訊是不值得的大多數使用者的效能損失。然而,改進 toString() 表示的可行性仍有待未來討論。

以上是Java 中的 Lambda 表達式是否相等?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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