Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


advertisement
 

Tip: Understanding Optional

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


advertisement

WEBINAR: On-Demand

Unleash Your DevOps Strategy by Synchronizing Application and Database Changes REGISTER >

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);
      System.out.println(javaOptional.sum(firstNum,secondNum));

   }
   
   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.
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date