当前位置: 首页 > 面试题库 >

为什么@FunctionalInterface保留RUNTIME?

龙高歌
2023-03-14
问题内容

用Javadoc说:

如果使用该注释类型对类型进行注释,则编译器需要生成错误消息,除非…

为什么不是SOURCE还是CLASS不够的,像@Override


问题答案:

@FunctionalInterface批注有两个目的。关于编译器和它产生的错误的确足以拥有一个,SOURCE
RetentionPolicy因为在这方面它仅影响带有注释的类@FunctionalInterface

但是,它还有第二个目的,即记录以下事实:interface确实打算将其用作功能性接口,以及以这种方式使用它的可能性不仅是巧合,例如Comparable,并非旨在以这种方式使用。

因此,它带有注释@Documented并具有最大程度RetentionPolicy地满足第二个目的。



 类似资料:
  • 我们的软件正在通过一个从内存流读取数据的GZipStream解压某些字节数据。这些数据以4KB的块解压缩,并写入另一个内存流。 我们已经意识到进程分配的内存远高于实际解压的数据。 示例:具有2425536字节的压缩字节数组被解压缩为23050718字节。我们使用的内存分析器显示了方法MemoryStream。设置容量(Int32值)分配的67104936字节。这是保留内存和实际写入内存之间的2.9

  • 我听说用ui和视图上的引用保留片段会导致内存泄漏。比我创建测试应用程序与片段,我存储一些引用的视图和设置setRetaineInstance(真),但几个屏幕旋转不会导致任何泄漏。MAT说我只有一个父活动的实例。我做错了什么?在哪些情况下,用ui保留片段会导致泄漏? ctivity.java 重新整理。JAVA }

  • 我们知道< code>let是在JavaScript中定义变量的保留关键字。 那么为什么这不是错误呢?

  • 几年前,我在eclipse Luna上开发了一个旧的android项目,并试图恢复它。 我已经把它导入了android studio,我被告知它可以转换成自己的格式,我可以继续工作。 在抛出所有初始链接和版本兼容性错误后,我遇到了以下错误,无法通过: 不管怎样,这是一个合法的错误吗? 这是我的身材。格雷德尔: 为了澄清这个问题:在莫森·贝娄的回答的帮助下,这个错误的解决方案是: 我已经根据Mohs

  • 打字擦除页面上说 如果类型参数是无界的,则用其边界或对象替换泛型类型中的所有类型参数。因此,生成的字节码只包含普通类、接口和方法。 但是,对于以下类别: javap-c Foo打印: 为什么类型参数没有替换为绑定(CharSequence),而是保留为E?

  • 问题内容: 我正在使用节点4.1.1。当我运行这段代码 我得到这个错误 如果我将代码重新排列为 我得到了预期的结果。 为什么第二个起作用,而第一个失败?可以肯定的是,如果关键字是保留关键字,那么它在所有上下文中都是保留的,而不仅仅是在箭头函数中使用时? 问题答案: 这是因为箭头功能不是生成器功能。例如, 我们可以期望它起作用吗?否。因为不是生成器函数。同样适用于箭头功能。 FWIW,根据ECMAS