我正在阅读关于新功能的文章:http://www.javaworld.com/article/2078836/java-se/love-and-hate-for-java-8.html
我看到了以下示例:
使用匿名类:
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent ae) {
System.out.println("Action Detected");
}
});
使用 Lambda:
button.addActionListener(e -> {
System.out.println("Action Detected");
});
如果有人想在匿名类中实现多个方法,例如:
MouseListener
该怎么做呢?
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);
}
......等等?
MousePressedListener
和MouseReleasedListener
,然后再创建两个方法addMousePressedListener(Button, MousePressedListener)
和addMouseReleasedListener(Button, MouseReleasedListener)
。接着,你可以使用lambda表达式来实现这些事件处理程序。请注意,翻译过程中尽可能保留原意,同时确保语言通俗易懂,不包含任何解释性内容。 - ZhekaKozlovaddMousePressedListener(Button, Consumer<MouseEvent>)
和addMouseReleasedListener(Button, Consumer<MouseEvent>)
,而不必提供不必要的接口。 - ZhekaKozlov