SonarQube подразумевает, что переменная не равна нулю - PullRequest
2 голосов
/ 17 октября 2019

В этом примере ниже SonarQube жалуется, что model.toString() - это not null, а (model == null) - всегда false, нужна помощь, чтобы понять, что можно сделать, чтобы это исправить. потому что закладка инициализируется как переменная в операторе if и, по-видимому, будет null.

public static class Mapper implements DataStore.ModelMapper<Membership, 
MembershipPassDTO> {            
    @Override
    public MembershipPassDTO mapModel(Membership model) {
        VALogger.e("SULOD Membership Mapper", "" + model.toString());

        if (model == null) {
            return new MembershipPassDTO(model, "", "", "", "", "", "");
        }
        return new MembershipPassDTO(model, model.getVitalityMembershipId(), model.getMembershipNumber(), model.getCustomerNumber(),
                model.getVitalityStatus(), model.getMembershipStartDate(), model.getMembershipStatus());
    }
}

1 Ответ

2 голосов
/ 17 октября 2019

всякий раз, когда вы вызываете model.toString() и , ваша модель действительно равна нулю , тогда ваш метод будет выбрасывать NullPoiunterException.

, но если model.toString() не выбросил NullPointerEcxeptionтогда очевидно, что model == null это всегда ложь ...

хорошо - вот что SonarQube пытается вам сказать ...


если выЧтобы избавиться от предупреждения, вы можете сделать то, что jensgram предложил:

VALogger.e("SULOD Membership Mapper", ""+model); //implicitly calls toString()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...