2016-01-05 2 views
-4
 } else { 
      this.getSequenceDataWithPO(extractedData, extractedDateData); 

     } 
    } 
    return hasbroData; 
} 

// Fetch data where po number is not null 
/** 
* @param extractedData 
* @param extractedDateData 
* @return hasbroData 
*/ 
private List<String> getSequenceDataWithPO(List<HasbroIssuanceAmmendExtractData> extractedData, 
     List<HasbroIssuanceDateData> extractedDateData) { 

Я пытаюсь вызвать getSequenceDataWithPO в блоке else. Тем не менее, при отладке, когда он добирается до блокировки, это не исключает этот метод. Что я делаю не так?Вызов метода в другом, но не работающем

+0

Не могли бы вы поделиться немного больше кода? Он входит в блок if? Установили ли вы точку останова внутри метода getSequenceDataWithPO()? –

+3

Please ** [edit] ** ваш вопрос с помощью [mcve] или [SSCCE (Short, Self Contained, Correct Example)] (http://sscce.org) – NathanOliver

+0

@ Gaël да он вводится, если блок. и как только он достигнет другого блока ... он снова возвращается к if. Да, я также установил точку останова. но никогда не выполняйте getSequenceDataWithPO – Sam

ответ

0

if, else if и else заявления следует рассматривать как это:

if: , если выполняются следующие условия, а затем выполнить эти команды

else if: иначе, и если выполняются следующие условия: затем выполните следующие команды:

else: в противном случае выполните следующие команды:

Это означает, что условные операторы выполняются в цепочке. Когда выполняется одно из условий в цепочке if, else if и else, ни один из других условных операторов не обрабатывается. Поскольку ваш блок else не выполняется, вы, вероятно, уже встретили предыдущие условия или else if. Чтобы проверить два независимых друг от друга условия, просто используйте два отдельных оператора if.

Например, в коде ниже слово "World" и "!" печататься не будет, даже если это правда, что 5 больше 2 и 4 больше, чем 1:

if (5 > 2) 
    System.out.print("Hello, "); 
else if (4 > 1) 
    System.out.print("World"); 
else 
    System.out.print("!"); 

Но, в следующем примере, как «Hello» и «Мир» и «! " будут напечатаны, так как три условия не зависят друг от друга:

if (5 > 2) 
    System.out.print("Hello, "); 
if (4 > 1) 
    System.out.print("World"); 
if (0 == 0) 
    System.out.print("!"); 
Смежные вопросы