java - 为什么注解 @SafeVarargs 不能应用于非 final 实例方法?

标签 java generics variadic-functions

为什么注解@SafeVarargs不能应用于非final实例方法?

最佳答案

如果您声明@SafeVarargs,那么您必须确定它实际上是安全的。如果一个方法是非最终的,它可以在子类中被覆盖。该覆盖可能不安全。

通过要求该方法是final,开发人员可以保证他所做的声明(即它的可变参数使用是安全的)实际上总是正确的(当然前提是开发人员实际提供了一个安全的可变参数方法),并且它实际上并没有被子类错误地重新实现该方法所破坏。

关于java - 为什么注解 @SafeVarargs 不能应用于非 final 实例方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24995088/

相关文章:

java - AES 仅共享 key (无盐或 IV)

ios - 未隐式定义关联类型的通用协议(protocol)

java - 在 Java 中使用泛型时出现空指针异常

c++ - 可变函数的使用

android - 解析 xml 时出错 : Unbound prefix with the Facebook SDK

java - 为什么这段代码在 Coderbyte 上编译而不是在本地编译?

c - printf 以多个指针作为 C 中的参数

java - 如果一个java方法接受(Object, Object...),有没有办法向其中提供单个参数?

java - CipherOutputStream 无法写入 ByteArrayOutputStream

java - 列表<?> 与列表<?扩展对象>