【发布时间】:2016-04-19 02:57:00
【问题描述】:
在常规循环中,我们可以有如下,制作单个嵌套层。
for (int i=0; listObject != null && i < listObject.size(); i++) {
// Do whatever we want
}
但是,对于每个循环使用以下样式,我需要一个双嵌套代码:-
if (listObject != null) {
for (Object object: listObject) {
// Do whatever we want
}
}
是否可以将 listObject != null 条件嵌入到 for 循环语句中以使其成为单个嵌套代码?
【问题讨论】:
-
为什么在循环的每次迭代中都需要检查
listObject是否为空?是否有代码可以取消引用它? -
那里已经问过同样的问题 IMO:stackoverflow.com/questions/6077909/…
-
“null”检查是一个比较典型的例子。它的想法是,如果我们有另一个条件要检查,有没有办法让它仍然是单嵌套的。我在下面提供了我的答案版本。谢谢!
-
为了有一个更扁平的代码结构,我可以先做一个规范化,比如
if(list==null) list=emptyList();
标签: java for-loop coding-style