Как решить проблему с гидролокатором "Корректность - этот метод продолжается все oop после нахождения условия равенства" - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть код ниже. Все, что я хотел из кода, это

  1. , если указанная локаль в аргументе метода присутствует в labelList, вернуть его или
  2. проверить, присутствует ли EN_US в labelList, а затем вернуть его
 String LOCALE = "locale"; 
 List<Map<String, Object>> labelList = // coming for other class
...
 public Object resolveData(String locale) {
 Map<String, Object> enUSLabel = null;
         locale = locale!= null && !locale.isEmpty() ? locale: EN_US;
              for (Map<String, Object> picklistLabel : labelList) {
                if (picklistLabel.get(LOCALE).equals(locale)) {
                  return picklistLabel;
                } else if (EN_US.equals(picklistLabel.get(LOCALE))) {
                  enUSLabel = picklistLabel;
                }
              }
              return enUSLabel;
 }

У меня проблема с сонаром (по адресу enUSLabel = picklistLabel;)

Корректность - этот метод продолжается al oop после нахождения условия равенства Этот метод продолжается с al oop и не вылезает из нее после нахождения и установки переменной в условии if, основанном на равенстве. Поскольку продолжение в l oop, по-видимому, вряд ли снова найдет предмет, нарушение в этой точке будет правильным действием.

Как исправить это? Возможно ли в одном для l oop?

1 Ответ

0 голосов
/ 09 апреля 2020

Заменить enUSLabel = picklistLabel на return picklistLabel

...