Java Optional filter() and map() Method Examples

In this source code example, we will demonstrate the usage of the filter() and map() methods of the Optional class.

Optional filter() and map() Methods

filter() Method

If a value is present, and the value matches the given predicate, return an Optional describing the value, otherwise return an empty Optional.

import java.util.Optional;

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

        // without Optional
        String result = "abc";
        if(result != null && result.contains("abc")){
            System.out.println(result);
        }

        // with Optional
        Optional<String> optionalStr = Optional.of(result);
        optionalStr.filter(res -> res.contains("abc"))
                .ifPresent((res) -> System.out.println(res));
    }
}

Output:

abc
abc

map() Method

If a value is present, apply the provided mapping function to it, and if the result is non-null, return an Optional describing the result.


import java.util.Optional;

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

        String result = " abc ";
        if(result != null && result.contains("abc")){
            System.out.println(result);
        }

        Optional<String> optionalStr = Optional.of(result);
        optionalStr.filter(res -> res.contains("abc"))
                .map(String::trim)
                .ifPresent((res) -> System.out.println(res));
    }
}


Output:

  abc
abc

Related Optional Class Method Examples


Comments