Java Functional Interfaces — Free Java Tutorial

Learn Java Functional Interfaces in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.

Java Functional Interfaces — Free Java Tutorial

Learn Java Functional Interfaces in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.

✓ 100% Free ✓ No Login Needed ✓ NCERT / CBSE Aligned ✓ Download as PDF

TL;DR: Learn Java Functional Interfaces in Java with a free, beginner-friendly tutorial, examples and practice for Indian students on Syllab.in.

Written & reviewed by the Syllab.in Academic Team (CBSE/NCERT subject experts) · Updated

🤖 Stuck on any question? Ask Syllab's free AI Tutor for a step-by-step explanation — instant, unlimited, no login.

Java Functional Interfaces in Java

A functional interface has exactly one abstract method. It can be implemented with a lambda expression or method reference. The @FunctionalInterface annotation is optional but recommended.

Built-in functional interfaces (java.util.function): Predicate<T> (T -> boolean), Function<T,R> (T -> R), Consumer<T> (T -> void), Supplier<T> (() -> T), BiFunction<T,U,R> (T,U -> R), UnaryOperator<T> (T -> T).

Predicate has and(), or(), negate() methods for composition. Function has andThen() and compose() for chaining transforms.

Custom functional interfaces allow you to define domain-specific function types: @FunctionalInterface interface Validator<T> { boolean validate(T value); }

Java Functional Interfaces — Syntax

@FunctionalInterface
interface Transformer<T> { T transform(T input); }

Predicate<Integer> isEven = n -> n % 2 == 0;
Function<String, Integer> length = String::length;
Consumer<String> print = System.out::println;
Supplier<String> greet = () -> "Hello!";
BiFunction<Integer, Integer, Integer> add = (a, b) -> a + b;

// Composition
Predicate<Integer> isEvenAndPositive = isEven.and(n -> n > 0);
Function<String, String> upper = String::toUpperCase;
Function<String, String> trim = String::trim;
Function<String, String> trimThenUpper = trim.andThen(upper);

Learn Java Functional Interfaces step by step with Syllab's free interactive Java tutorial — runnable code examples, practice exercises and instant AI feedback, all free with no signup. Explore the full Java course →