【從零開始學 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 線上教室,臉書粉絲團,會不定期發佈相關資訊,不想錯過最新資訊,不要忘記來按讚,加追蹤喔!也歡迎大家將這套課程分享給更多人喔。
我們下次再見囉!!!掰掰~

留言

這個網誌中的熱門文章

最新入門零基礎【從零開始學 Java 程式設計】線上教學課程目錄

NS - Nintendo Switch 遊戲比價網

【從零開始學 Kotlin 程式設計】Android Kotlin 線上教學課程目錄