增强的循环和可能的空值

has*_*ile -8 java null for-loop

如果有一个结构,例如,可能是一个数组,null对这个结构使用for/in循环是否有效?例如,

String[] a = someFunction(); //some function which might return null  
for (String s : a) {  
 //do something  
}
Run Code Online (Sandbox Code Playgroud)

我想知道这段代码是否会崩溃.

Bri*_*new 7

不,你会得到一个 NullPointerException

在这种情况下,我总是尝试返回空集合,而不是null集合.这样我就不必担心没有事先null检查就进行迭代(你可能会认为这是一个NullObject模式)