【发布时间】:2011-08-29 23:49:04
【问题描述】:
每次我必须迭代一个集合时,我都会在 for-each 循环的迭代开始之前检查 null。像这样:
if( list1 != null ){
for(Object obj : list1){
}
}
有没有更短的方法,这样我们就可以避免写“if”块? 注意:我使用的是 Java 5,并且会被它卡住一段时间。
【问题讨论】:
-
就像 SLaks 所说,你的集合不应该为空,而是它们的大小为零。在这种情况下,增强的 for 循环不会出错。
-
你可以把if的块去掉,效果一样
-
@ratchet 我无法删除“if”块。如果list1为null,则会出现NullPointerException
-
我的意思是你输入
if(list1 != null)for(Object obj : list1){...},换句话说,去掉花括号,这样你就可以把它放在一行中 -
@ratchet 有趣...但我可能无法通过代码审查 :)