有一个ArrayList“ allVariables”包含整数数组。我需要查找此数组是否包含数字1。如果包含,则答案应为false,否则为true。

我写了一些代码,但结果为java.lang.NullPointerException

private boolean notIncluded(int ind, ArrayList<Color> c) {
    ArrayList<Integer[]> allVariables = new ArrayList<Integer[]>();
        // Filling the ArryList

    for (int k = 0; k < c.size(); k++) {
        allVariables.add(c.get(k).getColor()); // returns Integer[]
    }

    if (Arrays.asList(allVariables).contains(1)) {
        return false;
    }

    return true;
}

最佳答案

您需要检查代码中是否为空。以下代码段尝试实现所需的内容,并在此过程中检查是否为空:

public function allVariablesContains(List<Integer[]> allVariables, int intToSearchFor)
{
    if (allVariables == null)
        return false;
    for (int i = 0; i < allVariables.Length; i++)
    {
        if (allVariables[i] == null)
            continue;
        if (Arrays.asList(allVariables).contains(intToSearchFor))
            return true;
    }
    return false;
}

09-30 19:47