Event Handlers with Method References / Lambdas
Brian Goetz
brian.goetz at oracle.com
Sun Apr 1 07:23:40 PDT 2012
> with some EventDispatcherImpl implementation that e.g. holds a
> List<EventDispatcher> and dispatches to each in turn. Of course, for
> the reasons discussed in the lambda equality thread, in a real
> implementation we'd want to return a handle object from
> addEventHandler() so we can remove event handlers again later - but
> let's not worry about that for now.
Or just save the handler object you pass in. (This is not a new
problem; we have exactly the same problem when using anonymous classes
for listeners.)
> Then I take it that this::onTemperatureChange is exactly equivalent to
> the lambda: (e) -> { onTemperatureChange(e);}
Correct. Method references can be thought of as shorthands for
corresponding lambdas:
Foo::staticMethod ==> (args) -> staticMethod(args)
Foo::instanceMethod ==> (arg0, rest) -> arg0.instanceMethod(rest)
expr::instanceMethod ==> (args) -> expr.instanceMethod(args)
> My question is, I'm using Henri Gomez's most recent Lambda build for
> OS X. I'm getting fairly regular (but not every time) crashes when
> running javadoc over TemperatureHandler (and occasional javac crashes
> as well) - is there a group that would be interested in the crash
> reports, or are we still expecting javac / javadoc to be
> inconsistently stable?
Yes! Post it here.
More information about the lambda-dev
mailing list