Java 8 Predicate Functional Interface with Examples (Lambda)


Predicate is a boolean-valued functional interface with test() method that takes one argument and returns either true or false.


Syntax:

@FunctionalInterface
public interface Predicate<T> {
    boolean test(T t);
}

Some Examples of Usage of Predicate with Lambadas


Example 1: To know if a number is even or odd:

    public static void main(String[] args) {

        Predicate<Integer> evenOrOdd = num -> num % 2 == 0;
        int testNumberForEvenOdd = 5;
        boolean isEven = evenOrOdd.test(testNumberForEvenOdd);
        System.out.println(testNumberForEvenOdd + " is Even: " + isEven);


    }

Output:

5 is Even: false


Example 2: To check if today is Weekday or Weekend:

package org.code2care.examples;

import java.time.DayOfWeek;
import java.time.LocalDate;
import java.util.function.Predicate;

public class WeekendChecker {

    public static void main(String... args) {

        Predicate<LocalDate> isWeekend = date -> {
            DayOfWeek dayOfWeek = date.getDayOfWeek();
            return dayOfWeek == DayOfWeek.SATURDAY || dayOfWeek == DayOfWeek.SUNDAY;
        };

        LocalDate currentDate = LocalDate.now();

        if (isWeekend.test(currentDate)) {
            System.out.println("Today is a weekend day.");
        } else {
            System.out.println("Today is not a weekend day.");
        }
    }
}

Output:

Today is not a weekend day.


Example 3: Check if the provided number is greater than 100

public static void main(String[] args) {

        Predicate<Integer> isGreaterThan100 = number -> number > 100;

        int numberToCheck = 80;
        if (isGreaterThan100.test(numberToCheck)) {
            System.out.println(numberToCheck + " is greater than 100.");
        } else {
            System.out.println(numberToCheck + " is not greater than 100.");
        }
}

Output:

80 is not greater than 100.


Example 4: Check if the object is nul

package org.code2care.examples;

import java.util.function.Predicate;

public class NullChecker {
    
    public static void main(String[] args) {

        Predicate<Object> isNull = obj -> obj == null;

        Object objectToCheck = null;
        
        if (isNull.test(objectToCheck)) {
            System.out.println("The object is null.");
        } else {
            System.out.println("The object is not null.");
        }
    }
}

Output:

The object is null.


References:

  1. Predicate Interface (java.util.function.Predicate):

  2. Lambda Expressions (lambdas):

Predicate in Java

Facing issues? Have Questions? Post them here! I am happy to answer!

Author Info:

Rakesh (He/Him) has over 14+ years of experience in Web and Application development. He is the author of insightful How-To articles for Code2care.

Follow him on: X

You can also reach out to him via e-mail: rakesh@code2care.org

Copyright © Code2care 2024 | Privacy Policy | About Us | Contact Us | Sitemap