On 9/20/2018 1:28 PM, Maurizio Cimadamore wrote:
Function<A,B> fun() = Utils::bar;
Function<A,B> fun = Utils::bar;
(first is method body, second is variable initializer)
I think Remi is noting the fact that, when using `->`, the single
expression can be a method reference expression. I have already
recorded this situation near the end of the JEP.
Ok - then I added another :-) [not sure we should be worried about it,
but perhaps worth mentioning in the JEP]
The puzzler practically writes itself. We distinguish:
1. boolean isEmpty(String s) = String::isEmpty;
2. Predicate<String> isEmpty = String::isEmpty;
3. Predicate<String> isEmpty(String s) -> String::isEmpty;
1. Method declaration, using method reference form.
2. Field declaration, initialized with a method reference exprssion.
3. Method declaration, using single expression form.
Alex