ich an zu den neuen Funktionen lesen: http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.htmlJava 8 Lambda-Ausdrücke - was über mehrere Methoden in verschachtelter Klasse
sah ich das folgende Beispiel:
Mit Anonymous Klasse:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Action Detected");
}
});
Mit Lambda:
button.addActionListener(e -> {
System.out.println("Action Detected");
});
Was würde mit einem MouseListener
jemand tun, wenn sie mehrere Methoden innerhalb der anonymen Klasse, z.B .:
public void mousePressed(MouseEvent e) {
saySomething("Mouse pressed; # of clicks: "
+ e.getClickCount(), e);
}
public void mouseReleased(MouseEvent e) {
saySomething("Mouse released; # of clicks: "
+ e.getClickCount(), e);
}
... und so weiter umsetzen wollen?
Dann müssen Sie nur anonyme Klassen verwenden. Die Einführung von Lambda macht sie nicht veraltet. Lambdas kann nur mit funktionellen Schnittstellen verwendet werden. –
Die Verwendung von Lambdas als ActionListener-Methode ist sehr seltsam. Woher weißt du, dass du die Methode 'actionPerformed' der Schnittstelle' ActionListener' implementierst ?! – bobbel
@bobbel Das ist das ganze Konzept der funktionalen Schnittstellen, ich schlage vor, Sie auf sie zu lesen, bevor Sie sie kommentieren. – skiwi