【问题标题】:default {} in @interface in SpringSpring 中 @interface 中的默认 {}
【发布时间】:2017-01-11 12:06:36
【问题描述】:

刚看了一些Spring-web-4.2.4的源码,发现ControllerAdvice(注解)很有意思:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Component
public @interface ControllerAdvice {
  @AliasFor("basePackages")
  String[] value() default {};

  @AliasFor("value")
  String[] basePackages() default {};

  //......
}

我不认为default {} 是Java 8 的新特性?

【问题讨论】:

标签: java annotations default-value


【解决方案1】:

在 Java 中,@interface 是一种用于定义 annotations 的保留字(关键字)。所以你可以确定你上面列出的类是一个注解定义。在此类中,default 关键字可用于定义注释属性的默认值。此功能是在语言中引入注释的同时引入的。

【讨论】:

【解决方案2】:
  1. default 关键字在注解中用于为相应的注解类型设置默认值(反过来,它允许您不指定每次写注解时这个类型的值);

  2. {} 只是一个数组字面量,意思是 一个空数组

【讨论】:

    猜你喜欢
    • 2018-07-19
    • 2010-10-09
    • 2021-06-28
    • 2018-02-11
    • 2015-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-28
    相关资源
    最近更新 更多