gpt4 book ai didi

java - Java 中的死代码错误

转载 作者:行者123 更新时间:2023-12-01 17:16:10 25 4
gpt4 key购买 nike

我有一个对象数组。我想扫描它,只要找到的对象不为空,就将计数器加1。当我找到第一个空对象时,我想跳出for循环,因为没有理由继续循环。

我编写了以下代码:

// counter variable initialized to zero
int counter = 0;

// scan the array
for(int i = 0; i < this.array.length; i++) {

// as long as the object found is not null
while(!this.array[i].equals(null)) {

// increase the value of the counter by 1
counter += 1;

}

// when the first null object found, jump out of the loop
break;

}

for循环中的i++被标记,警告为Dead Code。但是,我想这是有道理的,因为当我找到第一个空对象时,我停止循环。所以没什么好担心的,或者......?

最佳答案

for 的第一次迭代结束时,您无条件地跳出 for 循环。环形。这与“当找到第一个空对象时”无关 - 它只是在循环体的末尾。

此外,您的while循环永远不会完成,除非 array[i]实际上是 null (在这种情况下它将抛出 NullPointerException )。我想你想要:

for (int i = 0; i < this.array.length; i++) {
if (array[i] != null) {
counter++;
} else {
break;
}
}

或者更好的是,使用迭代器:

int counter = 0;
for (String item : array) { // Or whatever the type should be
if (item != null) {
counter++;
} else {
break;
}
}

关于java - Java 中的死代码错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22022635/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com