Java Tutorials - Herong's Tutorial Examples - Version 7.03, by Dr. Herong Yang
What Is Lambda Expression?
This section describes what is a lambda expression, which is a shorthand form of an anonymous class that implements a single abstract method interface (also called functional interface).
What Is Lambda Expression? A Lambda Expression is a shorthand form of a special anonymous class that implements an interface with only one abstract method. Lambda Expressions are introduced in Java 8.
An interface with only one abstract method is also called a Functional Interface.
Here is the syntax of a lambda expression:
(parameter_list) -> {method_body}
The above lambda expression syntax is actually a shorthand form of the following anonymous class syntax:
new interface_name() { return_type method_name(parameter_list) {method_body} }
The table below provides you a comparison of each element between the anonymous class syntax and the lambda expression syntax:
Anonymous class | Lambda expression | new | interface_name() { | return_type | method_name | (parameter_list) | (parameter_list) | -> {method_body} | {method_body} } |
Here is what I see from the above comparison:
Since a lambda expression is just a shorthand form of a special anonymous class, it acts in the same way as an anonymous class with some minor differences as summarized below:
See the next section for a simple example of a lambda expression.
Last update: 2014.
Table of Contents
Execution Process, Entry Point, Input and Output
Primitive Data Types and Literals
Bits, Bytes, Bitwise and Shift Operations
Managing Bit Strings in Byte Arrays
Reference Data Types and Variables
StringBuffer - The String Buffer Class
System Properties and Runtime Object Methods
Generic Classes and Parameterized Types
Generic Methods and Type Inference
►Lambda Expressions and Method References
LambdaCalculator.java - Lambda Expression Example
Lambda Expression Syntax Options
Lambda Expression as Method Reference
Method Reference Example - LambdaMethodRefernce.java
Lambda Expression Stream Pipeline Operations
Execution Threads and Multi-Threading Java Programs
ThreadGroup Class and "system" ThreadGroup Tree
Synchronization Technique and Synchronized Code Blocks
Deadlock Condition Example Programs