【從零開始學 Java 程式設計】Java 8 - Optional 處理資料 null 問題
【從零開始學 Java 程式設計】 線上教學課程目錄,使用 Java 程式語言,開發應用程式。
過往常見處理 null 範例
public void sendMsg(String msg) {
if (msg != null) {
System.out.println(msg);
}
}
Java 8 - 採用 Optional 處理 null 範例
MyCalc.java
import java.util.Optional;
public class MyCalc {
public Integer sum(Optional<Integer> x, Optional<Integer> y) {
// Optional.isPresent - 判斷是否有資料
if (x.isPresent()) {
System.out.println("x 資料存在");
}else{
System.out.println("x 資料不存在");
}
if (y.isPresent()) {
System.out.println("y 資料存在");
}else{
System.out.println("y 資料不存在");
}
// Optional.orElse - 如果值存在,返回該值,不存在则返回預設值
// Optional.get 返回當下資料
Integer value1 = x.orElse(new Integer(0));
Integer value2 = x.orElse(new Integer(0));
return value1 + value2;
}
}
Main.java
import java.util.Optional;
public class Main {
public static void main(String[] args) {
MyCalc myCalc = new MyCalc();
//Optional.ofNullable 允許資料為 null
Integer result1 =myCalc.sum(Optional.ofNullable(null), Optional.ofNullable(null));
System.out.println("result1= " + result1);
//Optional.of 資料為 null,會發生 NullPointerException
Integer result2 = myCalc.sum(Optional.of(new Integer(1)), Optional.of(new Integer(2)));
System.out.println("result2= " + result2);
}
}
那這次的課程就介紹到這邊囉~
順帶一提,KT 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~