在数组中查找没有空值的索引

时间:2013-04-24 15:03:22

标签: java

我有一个名为e的数组,这个数组包含对象,但不包含每个索引。所以我使用for循环来查找包含对象的数组中的第一个索引。我这样做是通过查找非空值。如果我找到它,我将索引保存在一个名为index的变量中,并打破循环。如果找不到没有空值的索引,我想从该方法返回。否则,我想继续使用包含数组索引的变量索引。

int index;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

// if index did not get any value inside the for-loop, return

// And here I use the index that was found using the for-loop

如何检查变量索引是否从for循环获得新索引?

谢谢!

3 个答案:

答案 0 :(得分:7)

这是始终初始化变量的一个原因。如果你初始化,你可以用值做(并避免不必要的布尔标志)

int index = -1;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

if (index == -1) return;

答案 1 :(得分:1)

添加一个布尔标志,在循环之前将其初始化为false,并仅在带有break语句的if块中将其设置为true。循环后检查标志的值。

答案 2 :(得分:0)

将索引默认为-1,然后检查其&gt; -1

int index = -1;

for (int i = 0; i < e.length; i++) {
    if (e[i] != null) {
        index = i;
        break;
    }
}

if (index >= 0) {


}