RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX


Tip: Understanding Optional

Get to know Optional. This example can be fine-tuned as needed to explore all of the methods supported.


Optional makes it easier in cases where the result is not really needed. This example can be fine-tuned as needed to explore all of the methods supported.

import java.util.Optional;

public class JavaOptional 
   public static void main(String args[])
      JavaOptional javaOptional = new JavaOptional();

     final String defaultNum = "25";

     //You can pass null when the argument is not provided. Take care of handling it in the next line :)
     String firstArg = args.length  0 ? args[0] : null;
      Integer firstInt = Integer.parseInt(firstArg);

     String secondArg = args.length  1 ? args[1] : defaultNum;
      Integer secondInt = Integer.parseInt(secondArg);
      //Optional.ofNullable - The parameter passed can be null also.
      Optional firstNum = Optional.ofNullable(firstInt);
      //Optional.of - a value is must. This will throw NullPointerException is null is passed
      Optional secondNum = Optional.of(secondInt);

   public Integer sum(Optional firstNum, Optional secondNum)
     //isPresent() returns true is the value exists and false otherwise
      System.out.println("firstNum.isPresent(): " + firstNum.isPresent());
      System.out.println("secondNum.isPresent(): " + secondNum.isPresent());
     //orElse() is interesting. If the number is not present orElse executes
      Integer firstInt = firstNum.orElse(new Integer(0));
      //get() is the other method. Use this only if the value exists or use orElse 
      Integer secondInt = secondNum.get();
      return (firstInt + secondInt);


Visit the DevX Tip Bank


Sridhar M S. is a Java developer from Bangalore, India. He holds a master's degree in Computer Science.
Email AuthorEmail Author
Close Icon
Thanks for your registration, follow us on our social networks to keep up-to-date