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


Tip of the Day
Language: Java
Expertise: Intermediate
Aug 14, 2017

WEBINAR:

On-Demand

How to Boost Database Development Productivity on Linux, Docker, and Kubernetes with Microsoft SQL Server 2017


Understanding Optional

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);
   
   }
}
M S Sridhar
 
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