Lambda Expressions and Functional Interfaces
Demonstrates lambda expressions with built-in functional interfaces like Predicate, Function, Consumer, and Supplier for concise and readable code.
Code
import java.util.function.*;
import java.util.List;
public class LambdaExpressions {
public static void main(String[] args) {
Predicate<String> isLong = s -> s.length() > 5;
Function<String, String> toUpper = String::toUpperCase;
Consumer<String> printer = System.out::println;
Supplier<String> defaultName = () -> "Anonymous";
List<String> names = List.of("Alice", "Bob", "Charlie", "Dave");
names.stream()
.filter(isLong)
.map(toUpper)
.forEach(printer);
BiFunction<Integer, Integer, Integer> add = Integer::sum;
int result = add.apply(10, 20);
System.out.println("Sum: " + result);
UnaryOperator<String> exclaim = s -> s + "!";
System.out.println(exclaim.apply("Hello"));
System.out.println("Default: " + defaultName.get());
}
}Report a problem with this exampleOpens a pre-filled issue on GitHub.