InvalidationListener has one param, ChangeListener has 3. So the arity of the 
lambda tells the compiler which kind to produce. If there was ambiguity, the 
compiler would complain.

Richard

On Mar 20, 2014, at 12:54 PM, Scott Palmer <swpal...@gmail.com> wrote:

> So I'm looking at Java 8 stuff now and I see that addListener has
> methods.  One takes a ChangeListener, the other an
> InvalidationListener.
> 
> So what does this do:
> 
> Node n = getSomeNode();
> n.managedProperty().addListener(x -> test(x));
> 
> Well it seems it adds an InvalidationListener.
> 
> So I tried this:
> 
> n.managedProperty().<ChangeListener>addListener(x -> test(x));
> 
> which seems to be accepted syntax, but it still adds an InvalidationListener 
> !!!
> 
> Help Please.
> 
> Why didn't JavaFX 8 add two new methods:
> addChangeListener
> addInvalidationListener
> 
> ?
> 
> Scott

Reply via email to