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
- Create Optional Class Object in Java - empty(), of(), ofNullable() Methods
- Optional get() Method - Get Value from Optional Object in Java
- Optional isPresent() Method Example
- Optional orElse() Method Example
- Optional orElseGet() Method Example
- Optional orElseThrow() Method Example
- Optional filter() and map() Method Examples