Java 8 開始新增的 Optional 類 - 檢查 Optional 的值
阿新 • • 發佈:2022-05-17
檢查值是否存在的 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 個方法的使用正好是相反的。