Ответ 1
Как применить @ParametersAreNonnullByDefault
Создайте файл package-info.java
в своем пакете, где вы хотите обеспечить требуемое поведение.
В этом файле выполните следующие действия:
/**
* You should do it like this!
*/
@ParametersAreNonnullByDefault
package com.stackoverflow;
import javax.annotation.ParametersAreNonnullByDefault;
Как не применять @ParametersAreNonnullByDefault
В исходном файле Java не выполняйте следующие действия:
/**
* But you shouldn't do it this way!
*/
@ParametersAreNonnullByDefault
package com.stackoverflow;
import javax.annotation.ParametersAreNonnullByDefault;
public class Answer { ...
Объявление таких аннотаций неоднозначно.
Примечания
Было бы нормально применить аннотацию непосредственно к классу Answer
.
package com.stackoverflow;
import javax.annotation.ParametersAreNonnullByDefault;
/**
* You can do it like this also.
*/
@ParametersAreNonnullByDefault
public class Answer { ...
То же самое относится и к @ParametersAreNullableByDefault
.