Java 8 Optional Example

Java 8 มี Class Optional ใน package java.util ซึ่งจะช่วยให้เราไม่ต้องตรวจสอบค่า null และเป็นการช่วยลด NullPointerExceptions ตอนรันไทม์ได้เป็นอย่างมากเลยครับ เรียกได้ว่า Optional เป็น container object ซึ่งใช้ contain not-null objects.

package zencode.com.test;

import java.util.Optional;

public class TestOptional {

public static void main(String args[]){

TestOptional testOptional = new TestOptional();
Integer value1 = null;
Integer value2 = new Integer(10);

//Optional.ofNullable - allows passed parameter to be null.
Optional<Integer> a = Optional.ofNullable(value1);

//Optional.of - throws NullPointerException if passed parameter is null
Optional<Integer> b = Optional.of(value2);

System.out.println(testOptional.sum(a,b));
}

public Integer sum(Optional<Integer> a, Optional<Integer> b){

//Optional.isPresent - checks the value is present or not

System.out.println("a is present: " + a.isPresent());
System.out.println("b is present: " + b.isPresent());

//Optional.orElse - returns the value if present otherwise returns
//the default value passed.
Integer value1 = a.orElse(new Integer(1));

//Optional.get - gets the value, value should be present
Integer value2 = b.get();
return value1 + value2;
}

}

ผลลัพท์ที่ได้

a is present: false
b is present: true
11
Process finished with exit code 0
Like what you read? Give Chiwa Kantawong (Pea) a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.