Невозможно получить аннотацию слева от квадратных кронштейнов массиваJAVA

Программисты JAVA общаются здесь
Anonymous
Невозможно получить аннотацию слева от квадратных кронштейнов массива

Сообщение Anonymous »

Не в состоянии получить аннотацию в левой части квадратных кронштейнов массива: < /p>
public static @MyNullable1 String @MyNullable2 [] array = null;

@Test
public void test() throws Exception {
Annotation[] annotations = getClass().getField("array").getAnnotations();
System.out.println(Arrays.toString(annotations));
}
< /code>
Результат только: < /p>
[@test.MyNullable1()]

и, если я удаляю mynullable2, идея говорит «null ', присваивается переменной, которая аннотируется с @notnull»:


Вот mynullable1 и mynullable2 :
@Documented
@Nonnull(
when = When.MAYBE
)
@Retention(RetentionPolicy.RUNTIME)
@TypeQualifierNickname
@Target({
ElementType.METHOD,
ElementType.FIELD,
ElementType.PARAMETER,
ElementType.LOCAL_VARIABLE,
ElementType.TYPE_USE,
})
public @interface MyNullable1 {
}
@Documented
@Nonnull(
when = When.MAYBE
)
@Retention(RetentionPolicy.RUNTIME)
@TypeQualifierNickname
@Target({
ElementType.METHOD,
ElementType.FIELD,
ElementType.PARAMETER,
ElementType.LOCAL_VARIABLE,
ElementType.TYPE_USE,
})
public @interface MyNullable2 {
}


Подробнее здесь: https://stackoverflow.com/questions/795 ... f-an-array

Вернуться в «JAVA»