recursive lambda as a local variable

Brian Goetz brian.goetz at
Thu Sep 12 08:17:52 PDT 2013

> - The part left of the '::' can be an arbitrarily long expression that will
> be evaluated immediately, while the method invocation itself will be
> deferred until the corresponding SAM method is invoked. Thus, 'null' might
> by bound now and detected much later.

This is just a compiler bug; if the part to the left evaluates to null, 
it should throw NPE immediately (see jsr335-15.28.2-30-A2: If the result 
of evaluation of the subexpression is null, then a NullPointerException 
is thrown.)

Thanks for reporting this.  I will file a bug.

More information about the lambda-dev mailing list