1. 程式人生 > 其它 >Java 8 開始新增的 Optional 類 - 檢查 Optional 的值

Java 8 開始新增的 Optional 類 - 檢查 Optional 的值

檢查值是否存在的 isPresent() 和 isEmpty() 方法

當我們使用 Optional 物件的時候,我們可以使用 isPresent() 方法來檢查返回的 Optional 物件中是否有值。

Optional 物件可以是你自己建立的,或者是從其他方法中返回的。

    @Test
    public void givenOptional_whenIsPresentWorks_thenCorrect() {
        Optional<String> opt = Optional.of("HoneyMoose");
        assertTrue(opt.isPresent());

        opt = Optional.ofNullable(null);
        assertFalse(opt.isPresent());
    }

如果 Optional 物件中的值不為 null 的話,這個方法將會返回 True。

同樣的,如果使用 Java 11 的話,你可以使用與 isPresent 相反的方法 isEmpty

如果你的物件中的值為 null 的話,isEmpty 將會返回 True。

    @Test
    public void givenAnEmptyOptional_thenIsEmptyBehavesAsExpected_JDK11() {
        Optional<String> opt = Optional.of("Baeldung");
        assertFalse(opt.isEmpty());

        opt = Optional.ofNullable(null);
        assertTrue(opt.isEmpty());
    }

如果你檢視 API 的話,你會看到 JDK 的原始碼只是用了簡單的判斷是否等於 null。

這 2 個方法的使用正好是相反的。

https://www.ossez.com/t/java-8-optional-optional/13966