该
@FunctionalInterface批注有两个目的。关于编译器和它产生的错误的确足以拥有一个,
SOURCE
RetentionPolicy因为在这方面它仅影响带有注释的类
@FunctionalInterface。
但是,它还有第二个目的,即记录以下事实:
interface确实打算将其用作功能性接口,以及以这种方式使用它的可能性不仅是巧合,例如
Comparable,并非旨在以这种方式使用。
因此,它带有注释
@documented并具有最大程度
RetentionPolicy地满足第二个目的。



