我的'if'语句被忽略...
代码有什么问题?

代码:

private ObservableList<String[]> fnlData;
.
.

for (int i = 0; i < fnlData.size(); i++){
    if (fnlData.get(i)!=null || fnlData.get(i)[indexC]!=null || fnlData.get(i).length > indexC+1) {
       fnlData.get(i)[indexC] = null;
    }
}


fnlData.get(0)(=StringArray)中只有一个元素。
在第一个循环(当i = 0时)应跳过“ if”
它以某种方式进入并执行fnlData.get(i)[indexC] = null;
但是因为我在数组中没有第二个元素,所以出现了错误ArrayIndexOutOfBoundsExceptionInvocationTargetException

最佳答案

如果fnlData.get(0)!=null为true(您声称是),则条件为true。

如果您要求所有条件都为真,则使用AND而不是OR:

if (fnlData.get(i)!=null && fnlData.get(i)[indexC]!=null && fnlData.get(i).length > indexC+1)

08-05 18:43