小编典典

增强的 for 循环中的空值检查

all

在 Java 的 for 循环中防止 null 的最佳方法是什么?

这看起来很难看:

if (someList != null) {
    for (Object object : someList) {
        // do whatever
    }
}

或者

if (someList == null) {
    return; // Or throw ex
}
for (Object object : someList) {
    // do whatever
}

可能没有其他办法了。他们是否应该将它放在for构造本身中,如果它为 null 则不运行循环?


阅读 63

收藏
2022-07-06

共1个答案

小编典典

您应该更好地验证您从哪里获得该列表。

您只需要一个空列表,因为空列表不会失败。

如果您从其他地方获得此列表并且不知道它是否可以,您可以创建一个实用程序方法并像这样使用它:

for( Object o : safe( list ) ) {
   // do whatever 
 }

当然safe是:

public static List safe( List other ) {
    return other == null ? Collections.EMPTY_LIST : other;
}
2022-07-06