簡體   English   中英

@FunctionalInterface 只是一個標記接口還是更多?

[英]Is @FunctionalInterface just a marker interface or more than that?

我想 @FunctionalInterface 甚至在 Java 8 之前就存在了(盡管沒有直接命名為@FunctionalInterface接口,例如具有單一方法的ComparatorComparable )。 它只是一個標記接口還是會觸發編譯器檢查以確保該接口包含一個且僅一個可在 lambda 表達式中使用的方法?

它甚至不是一個標記。 來自@FunctionalInterface API

一種信息性注釋類型,用於指示接口類型聲明旨在成為 Java 語言規范定義的功能接口

(我添加的突出顯示)

它另外用@Documented注釋,因此此注釋的存在將出現在例如 javadocs 中。

但是,它提供了一些編譯時安全性。 如果帶注釋的接口有多個非默認方法,我們將收到一個編譯錯誤。

創意演示

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM