Chapter 2. Lambda Expressions
The biggest language change in Java 8 is the introduction of lambda expressionsâa compact way of passing around behavior. They are also a pretty fundamental building block that the rest of this book depends upon, so letâs get into what theyâre all about.
Your First Lambda Expression
Swing is a platform-agnostic Java library for writing graphical user interfaces (GUIs). It has a fairly common idiom in which, in order to find out what your user did, you register an event listener. The event listener can then perform some action in response to the user input (see Example 2-1).
button
.
addActionListener
(
new
ActionListener
()
{
public
void
actionPerformed
(
ActionEvent
event
)
{
System
.
out
.
println
(
"button clicked"
);
}
});
In this example, weâre creating a new object that provides an implementation
of the ActionListener
class. This interface has a single method,
actionPerformed
, which is called by the button
instance when a user actually
clicks the on-screen button. The anonymous inner class provides the
implementation of this method. In Example 2-1, all it does is print
out a message to say that the button has been clicked.
Note
This is actually an example of using code as dataâweâre giving the button an object that represents an action.
Anonymous inner classes were designed to make it easier for Java programmers to pass around code as data. Unfortunately, they donât ...
Get Java 8 Lambdas now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.