是否可以在返回类型

时间:2016-03-08 18:40:41

标签: java annotations

我遇到了这段代码

@Override
public @NotNull Class<?> getProviderClass() {
    return this.getClass();
}

我想知道它是否如下面的代码:

@Override
@NotNull
public Class<?> getProviderClass() {
    return this.getClass();
}

注意:@NotNull注释相对于accessModifier位于不同的位置

在这种情况下还是在方法上返回类型的注释?

1 个答案:

答案 0 :(得分:6)

@Annotation相对于accessModifier的位置无关紧要。注释在方法上,而不在返回类型上。

我使用JD-GUI编译和反编译这里是我的输入和输出

INPUT

public @NotNull Class<?> getProviderClass2() {
    return this.getClass();
}

@NotNull
public Class<?> getProviderClass1() {
    return this.getClass();
}

输出

@NotNull
public Class<?> getProviderClass2()
{
  return getClass();
}

@NotNull
public Class<?> getProviderClass1()
{
  return getClass();
}