Есть ли способ оптимизировать этот метод? - PullRequest
0 голосов
/ 26 декабря 2018

У меня есть этот код, в основном проверьте, есть ли null.Я использовал SonarQube , и я должен максимально оптимизировать, я чувствую, что все в порядке, но я должен попробовать.Любые идеи?

В следующем коде каждый fila имеет простые записи Strings.

public boolean isColumnNull(DbfReader reader, int[] pos) {

    Object[] fila = null;
    boolean isNull = false;
    int cont = 0;

    while (cont < pos.length) {

        while ((fila = reader.nextRecord()) != null) {

            for (int j = 0; j < fila.length; j++) {

                if ((j == pos[0] || j == pos[1]) && fila[j] == null) {

                    isNull = true;
                    break;
                }
            }

            cont++;
        }
    }

    return isNull;
}

1 Ответ

0 голосов
/ 26 декабря 2018

Внутренний цикл for может быть заменен на

if ((pos[0] < fila.length && fila[pos[0]] == null) || 
    (pos[1] < fila.length && fila[pos[1]] == null)) {
    isNull = true;
    break;
}

. По предложению Энди Тернера, оба pos [0] и pos [1] должны быть проверены на то, что они> = 0, это нужно сделать один раз.до начала цикла while.

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