注解(Annotations)

类型注解

应用于类型的注解直接出现在被注解的类型之前。如果注解是用 @Target(ElementType.TYPE_USE) 进行元注解的,那么它就是一个类型注解。示例如下:

final @Nullable String name;

public @Nullable Person getPersonByName(String name)

类注解

应用于类的注解紧跟在文档块之后,并且每个注解都列在自己的行上(也就是每行一个注解)。这些换行并不构成换行,所以缩进级别不增加。示例如下:

@Deprecated
@CheckReturnValue
public final class Frozzler { ... }

方法/构造函数注解

应用于方法或构造函数的注解的规则和 上一节 一样。实例如下:

@Deprecated
@Override
public String getNameIfPresent() { ... }

字段注解

应用于字段的注解也紧跟在文档块之后,但在这种情况下,多个注解(可能带参数)可以列在同一行上;例如:

@Partial @Mock DataLoader loader;

参数/局部变量注解

应用于参数或局部变量的注解没有一个具体的编写规则(当然,当注解是类型注解时除外)。