Comment écrire un nouvel élément ListChangeListener & lt; Item & gt; () avec lambda?
Comment puis-je écrire une nouvelle ListChangeListener() avec lambda dans java8?
listItems.addListener(new ListChangeListener<Item>() {
@Override
public void onChanged(
javafx.collections.ListChangeListener.Change<? extends Item> c) {
//TODO Auto-generated method stub
}
});
C'est ce que j'ai essayé:
listItems.addListener(c->{});
Mais eclipse états:
La méthode addListener(ListChangeListener) est ambiguë pour les
type ObservableList.
La Liste est déclarée comme suit:
ObservableList<Item> listItems = FXCollections.observableArrayList();
source d'informationauteur simonides
Vous devez vous connecter pour publier un commentaire.
Depuis
ObservableList
hériteaddListener(InvalidationListener)
de laObservable
interface, le compilateur est impossible de déterminer la version d'appel. Spécifie le type de lambda par un casting devrait corriger cet.Vous pouvez également spécifier explicitement le type de
c
:Ce code fonctionne sans avoir à spécifier les types.