- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
为什么注解@SafeVarargs
不能应用于非final实例方法?
最佳答案
如果您声明@SafeVarargs
,那么您必须确定它实际上是安全的。如果一个方法是非最终的,它可以在子类中被覆盖。该覆盖可能不安全。
通过要求该方法是final
,开发人员可以保证他所做的声明(即它的可变参数使用是安全的)实际上总是正确的(当然前提是开发人员实际提供了一个安全的可变参数方法),并且它实际上并没有被子类错误地重新实现该方法所破坏。
关于java - 为什么注解 @SafeVarargs 不能应用于非 final 实例方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995088/
我有一些 Java 代码(使用 Guava ImmutableList 类): @Nonnull public static UserHistory forUser(long id, E... ev
这个问题不是关于堆污染如何发生的。这个问题不是关于注释@SafeVarargs有什么作用。据我所知,它用于抑制本地和调用站点的警告。我读了documentation 。我的问题是:为什么要将此注释添加
代码如下: class Foo { private final T[] array; @SafeVarargs Foo(T... items) { this.array = ite
下面我的查询方法有助于使用org.hibernate.Session查询我的持久层。方法代码如下: public class Persister{ public static List qu
在这段代码中, package com.example; interface CollectorIF { // @SafeVarargs // Error: @SafeVara
我在一个私有(private)的内部类中有一个私有(private)方法,我想使用 SafeVarargs 注释。但是,我需要有一个静态或 final方法。为什么私有(private)方法也需要是最终
我的 API 中有一个带有通用可变参数的方法。我希望我的 API 与 Java 6 源代码和二进制兼容,但如果 Java 7 API 使用者不会遭受不必要的 “varargs” 警告,那就太好了。 我
为什么注解@SafeVarargs不能应用于非final实例方法? 最佳答案 如果您声明@SafeVarargs,那么您必须确定它实际上是安全的。如果一个方法是非最终的,它可以在子类中被覆盖。该覆盖可
我已经尝试让 Android 数据绑定(bind)工作 2 天了,它是一个接一个的编译器问题,现在我完全碰壁了。我用谷歌搜索了这个,没有找到任何东西。 这是完整的日志: java.lang.Runti
我是一名优秀的程序员,十分优秀!