gpt4 book ai didi

Java While 循环

转载 作者:行者123 更新时间:2023-12-02 08:12:32 26 4
gpt4 key购买 nike

因此,在重写一些代码时,我遇到了以下内容:

方法一

while ( iter.hasNext() ) {
Object obj = iter.next();
if ( obj instanceof Something ) {
returnValue = (Something) obj;
break;
}
}

我没有多想就重写了如下(重写的实际目的是为了这个方法中的其他逻辑):

方法2

while ( (iter.hasNext()) && (returnValue == null) ) {
Object obj = iter.next();
if ( obj instanceof Something ) {
returnValue = (Something) obj;
}
}

我个人对这两种方法都没有任何强烈的偏好,并且确实不认为这两种方法有什么问题。其他人能想到使用这两种方法的好处或后果吗?返回变量 returnValue。如果这是方法中的最后一个 block 并且它刚刚返回,人们会有什么感觉?

编辑:这就是我正在做的事情:当前此方法需要一组授权并验证它们 - 返回一个 boolean 值。此方法允许分组,因此您可以指定至少一个或全部(意味着如果至少一个授权有效,则传递整组授权)。但是,此方法不支持授权级别,这就是我要更改它的目的,以便每个级别可以指定不同的分组。所有这些都只是背景信息...与上面的代码没有太大关系 - 使用替代方法来执行上面的代码块。

最佳答案

对我来说,更清楚的是将其提取为自己的方法;那么你可以简单地返回该值,而不是将其分配给本地变量。

while (iter.hasNext()) {
Object obj = iter.next();
if (obj instanceof Something)
return (Something)obj;
}
return null;

更好的是 foreach 循环

for (Object o : yourList)
if (o instanceof Something)
return (Something)o
return null;

关于Java While 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2331087/

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