我有一个名为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循环获得新索引?
谢谢!
答案 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) {
}