当前位置: 首页 > 编程笔记 >

Java9中私有方法的注解@SafeVarargs

漆雕成弘
2023-03-14
本文向大家介绍Java9中私有方法的注解@SafeVarargs,包括了Java9中私有方法的注解@SafeVarargs的使用技巧和注意事项,需要的朋友参考一下

@SafeVarargs注解是在Java7中引入的。此注解适用于接受varargs参数的final和static方法或构造函数。此注解用于确保方法不会对其varargs参数执行不安全的操作。从Java9开始,@SafeVarargs注解也适用于私有实例方法。

语法

@SafeVarargs
private void methodName(...) {
   // some statements
}

示例

import java.util.ArrayList;
import java.util.List;
public class SafevarargsTest {
   @SafeVarargs     //将@SafeVarargs应用于私有方法 
   private void display(List<String>... names) {
      for(List<String> name : names) {
         System.out.println(name);
      }
   }
   public static void main(String args[]) {
      SafevarargsTest test = new SafevarargsTest();
      List<String> list = new ArrayList<String>();
      list.add("Nhooo");
      list.add("Com");
      test.display(list);
   }
}

输出结果

[Nhooo, Com]

 类似资料:
  • 在java 8之前,接口可以有以下类型的变量/方法。 常量变量 抽象方法 所以我们不能在接口中编写方法的实现,或者更确切地说,在Java 8之前实现默认实现。请参阅下面示例。 执行上面示例代码,得到以下结果 - 在上面的例子中,每个日志方法都有自己的实现。 使用Java 8接口可以有以下类型的变量/方法。 常量变量 抽象方法 默认方法 静态方法 让我们使用Java 8在接口中使用默认实现和静态方法

  • 在java 5版本中引入了注解。 使用注释的程序元素意味着它不应该用于以下任何原因 - 它的使用可能会导致错误。 它可能在未来版本中不兼容。 它可能在未来的版本中被删除。 一个更好和更高效的替代方案已经取代它。 每当使用不推荐使用的元素时,编译器会生成警告。 使用Java 9,对注释进行了两项新的增强。 - 指示注释的元素是否在将来的版本中被删除。 默认值是。 - 返回注释元素已过时的版本。 默认

  • 问题内容: 这是一个有趣的代码片段: 我知道子类不会继承其父级的私有成员,但是obj设法在其中调用它不应具有的访问权的方法。在编译时,obj是Superclass类型,在运行时是Subclass类型。 这可能与以下事实有关:对doSomething()的调用发生在驱动程序类内部,而该驱动程序类恰好是其自己的类(以及为什么可以首先调用doSomething()的原因)。 因此问题归结为,obj如何访

  • 服务实现 但是,如果我将注释移动到公共接口方法实现,我的方面就会被触发。我应该如何定义我的切入点或配置我的方面来使我的原始用例工作?

  • 在IDE上执行程序时,它不会给出任何输出。我原以为它会给出。

  • 克拉斯托斯特。publicMethod-->classtotest.privateMethod(不是mocking)-->classtoinject.publicMethod1(想要mock) 类如下所示