DEV Community

Manish Thakurani for CodeGreen

Posted on • Updated on

Optional Class in Java and its methods

Optional Class in Java

======================

What is an Optional Class?

The Optional class in Java is a container object that may or may not contain a non-null value. It is used to avoid null pointer exceptions by providing a way to handle null values more effectively.

Available Methods in Optional Class

  • Optional.isPresent() - Checks if a value is present in the Optional.
  • Optional.get() - Gets the value from the Optional if present, otherwise throws NoSuchElementException.
  • Optional.orElse(T other) - Returns the value if present, otherwise returns the specified other value.
  • Optional.orElseGet(Supplier other) - Returns the value if present, otherwise returns the result produced by the supplying function.
  • Optional.orElseThrow(Supplier exceptionSupplier) - Returns the value if present, otherwise throws the exception produced by the supplying function.
  • Optional.ifPresent(Consumer consumer) - Executes the specified consumer if a value is present.
  • Optional.filter(Predicate predicate) - Filters the value of the Optional if present based on the specified predicate.
  • Optional.map(Function mapper) - Maps the value of the Optional if present using the specified mapper function.
  • Optional.flatMap(Function> mapper) - Maps the value of the Optional if present to another Optional using the specified mapper function.

Example

import java.util.Optional;

public class OptionalExample {

    public static void main(String[] args) {
        // Example of Optional.isPresent()
        Optional<String> optionalString = Optional.ofNullable("Hello");
        System.out.println("Is value present? " + optionalString.isPresent());

        // Example of Optional.get()
        String value = optionalString.get();
        System.out.println("Value: " + value);

        // Example of Optional.orElse()
        Optional<String> emptyOptional = Optional.empty();
        String result = emptyOptional.orElse("Default Value");
        System.out.println("Result: " + result);

        // Example of Optional.ifPresent()
        optionalString.ifPresent(val -> System.out.println("Value is present: " + val));

        // Example of Optional.map()
        Optional<Integer> optionalLength = optionalString.map(String::length);
        optionalLength.ifPresent(len -> System.out.println("Length of value: " + len));
    }
}
Enter fullscreen mode Exit fullscreen mode

Conclusion

The Optional class in Java provides a set of methods to handle null values effectively, reducing the chances of null pointer exceptions and improving code readability.

Top comments (0)