Как я могу упростить мой оператор if-else в java? - PullRequest
0 голосов
/ 14 февраля 2020

В моем коде у меня есть метод size(MyData), который возвращает размер данных - он может быть 0 или больше. У меня также есть флаг exclude, который может быть true или false. Суть моего алгоритма состоит в том, чтобы выполнить некоторую операцию с данными на основе их размера и значения флага.

  • Если размер больше 0, я хочу выполнить операцию с данными .

  • Если размер равен 0, то мне нужно проверить значение флага excluded. В этом случае, если флаг excluded установлен в значение true, я не хочу выполнять операции с данными. Но если флаг установлен в false, мне нужно выполнить операцию с данными.

Пока мой алгоритм такой:

int numberOfKids = size(MyData); //this can be 0 or greater
if (numberOfKids != 0) {
    //do operation
}
else {
    if (!exclude) {
        //do operation
    }
}

есть ли лучший способ написания этого алгоритма? Спасибо!

1 Ответ

5 голосов
/ 14 февраля 2020

Предполагается, что это та же самая операция:

int numberOfKids = size(MyData); //this can be 0 or greater
if (numberOfKids != 0 || !exclude) {
    //do operation
}

Сравнение || работает путем оценки левой стороны, и, если оно истинно, правая сторона пропускается. Но если левая сторона ложна, то правая сторона оценивается.

...