Java Predicate test()

In this guide, you will learn about the Predicate test() method in Java programming and how to use it with an example.

1. Predicate test() Method Overview


The Predicate.test() method is a functional interface method in Java that is primarily used to test a value and return a boolean result. 

Predicate is a part of the java.util.function package and provides a contract for a function that takes a single input argument and returns a boolean result.


boolean test(T t)


- t: The input argument.

Key Points:

- Predicate is a functional interface, and therefore, it can be used as an assignment target for a lambda expression or method reference.

- It's commonly used for filtering data in collections, especially with the Stream API.

- Besides test(), the Predicate interface also provides default and static methods like and(), or(), and negate() to combine or negate predicates.

2. Predicate test() Method Example

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

public class PredicateTestExample {
    public static void main(String[] args) {
        List<String> names = Arrays.asList("Alice", "Bob", "Charlie", "David");

        // Define a Predicate to test if a name starts with the letter 'A'
        Predicate<String> startsWithA = name -> name.startsWith("A");

        for (String name : names) {
            if (startsWithA.test(name)) {




In the example, a Predicate named startsWithA was defined to test if a given string starts with the letter 'A'. 

We then used this Predicate to filter names from the list and only printed the names that satisfied the predicate condition (i.e., names that start with the letter 'A').