Why don't I get a NullPointerException in Groovy in this case?
问题 I have this test code: def test = null test.each { } Why don't I get any exception? 回答1: The implementation of each tries to call the iterator method of it's target in a null-safe fashion . If each is called on a null object, or an object without an iterator method, nothing happens. I haven't seen the source code, but it could look something like this§ Object each(Closure closure) { if (this?.respondsTo("iterator")) { def iterator = this.iterator() while (iterator.hasNext() { def item =