SonarQube抱怨表达总是假的

时间:2019-04-08 11:54:37

标签: sonarqube conditional-statements notnull

我有一个使用静态方法的枚举:

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抱怨:

  1. @NotNull表示'statusDbId'不能为null。
  2. 表达式始终为假。更改此条件,以使其始终不等于“假”(if( statusDbId == null ) {…})。

如何解决SonarQube问题?我认为该条件是有效的,而不管静态方法中的@NotNull注释。

0 个答案:

没有答案