Lambda Ausdrücke

Veröffentlicht von

java.util.Comparator


// Normal
List<Person> personen = new ArrayList<>();
...
Collections.sort(personen, new Comparator<Person>() {
    @Override
    public int compare(Person x, Person y) {
        return x.getAlter().compareTo(y.getAlter());
    }
});

// Lambda
personen.sort((x,y) -> x.getAlter().compareTo(y.getAlter()));Code-Sprache: PHP (php)
// Interface mit anonymer Implementierung
// Die Annotation ist eigentlich nur informativ – es funktioniert auch ohne.
@FunctionalInterface
public interface Comparator<T> {
  ...   
  int compare(T o1, T o2);
  ...
  boolean equals(Object obj);Code-Sprache: PHP (php)

javafx.beans.value.ChangeListener

// Normal
ChangeListener<Boolean> listener = new ChangeListener<Boolean>() {
    @Override
    public void changed(ObservableValue<? extends Boolean> ov, Boolean oldVal, Boolean newVal) {
        // meine Logik
    }
};

// Lambda
ChangeListener<Boolean> listener = (obs, oldVal, newVal) -> {
    // meine Logik
};Code-Sprache: JavaScript (javascript)