Java Reference
In-Depth Information
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 topic 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
)
.
Example 2-1. Using an anonymous inner class to associate behavior with a button click
button
.
addActionListener
(
new
new
ActionListener
() {
public
public
void
void
actionPerformed
(
ActionEvent event
) {
System
.
out
.
println
(
"button clicked"
);
}
});
In this example, we're creating a new object that provides an implementation of the
Ac-
tionListener
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 in-
ner 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.