我有一个使用静态方法的枚举:
public static ProductSyncingStatus fromStatus(@NotNull final Integer statusDbId) throws IllegalArgumentException {
if( statusDbId == null ) {
throw new IllegalArgumentException(String.format("Status ID is not set.", statusDbId));
}
switch (statusDbId) {
case 0: return STATUS_PENDING;
case 10: return RAWDATA_CREATED;
default: throw new IllegalArgumentException(String.format("Status ID %x is not supported.", statusDbId));
}
}
注解@NotNull
仅告诉开发人员该参数可能/不应为null ...但是可以提交一个null值。
但是,SonarQube抱怨:
@NotNull
表示'statusDbId'不能为null。 if( statusDbId == null ) {…}
)。 如何解决SonarQube问题?我认为该条件是有效的,而不管静态方法中的@NotNull注释。