2014-10-23 2 views
0

У обоих из них одинаковый результат? Если это так, я просто смущен тем, почему вам не нужно иметь инструкцию else, возвращающую inventoryList.size(); на первую часть кода, потому что если оператор if истинен, он не вернет 0 и inventoryList.size();?Эти два эквивалента?

public int numItems() { 
    if (inventoryList.isEmpty()) { 
     return 0; 
    } 
    return inventoryList.size(); 
} 

И

public int numItems() { 
    if (inventoryList.size() != 0) { 
    return inventoryList.size(); 
    } 
    else { 
    return 0; 
    } 
} 
+1

Вам не нужно даже эти проверки в первую очередь. – August

+0

реализация «isEmpty()» является «public boolean isEmpty() {return size == 0; } ', но, честно говоря, вы можете просто использовать' inventoryList.size() 'при всех обстоятельствах здесь. – EpicPandaForce

+0

Это тот вопрос, который компилятор с удовольствием отвечает за вас. Вы спросили об этом? –

ответ

1

Есть ли какой-то причине вы пытаетесь обернуть inventoryList.size() метод? Вы должны просто пойти

public int numItems() { return inventoryList.size(); } 

Что не вы делаете, что хотите?

0

Они эквивалентны. В любом случае вы можете пропустить else, так как вы вернетесь из последующего утверждения if.

0

Когда выполняется оператор возврата, этот метод останавливается и больше не выполняется код. Следовательно, эти две функции равны.

0

Оператор возврата не выходит из функции. Подумайте об этом, как о том, что происходит за кулисами.

Смежные вопросы