作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
因此,在重写一些代码时,我遇到了以下内容:
方法一
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/
我是一名优秀的程序员,十分优秀!