Java:Optional

发布时间 2023-08-08 04:57:31作者: 小白冲冲

创建Optional对象

1. 创建一个空的Optional对象

Optional<String> empty = Optional.empty();

使用 isPresent() 方法检查Optional对象中是否有值。

 

2. 创建一个Optional对象

String name = "baeldung";
Optional<String> opt = Optional.of(name);

但是,传递给 of() 方法的参数不能为 null。 否则,我们将得到一个 NullPointerException。

@Test(expected = NullPointerException.class)
public void givenNull_whenThrowsErrorOnCreate_thenCorrect() {
    String name = null;
    Optional.of(name);
}

 

3. 创建一个可以接受null值的Optional对象

@Test
public void givenNonNull_whenCreatesNullable_thenCorrect() {
    String name = "baeldung";
    Optional<String> opt = Optional.ofNullable(name);
    assertTrue(opt.isPresent());
}

使用null值创建:

@Test
public void givenNull_whenCreatesNullable_thenCorrect() {
    String name = null;
    Optional<String> opt = Optional.ofNullable(name);
    assertFalse(opt.isPresent());
}

 

判断Optional是否为空

1. isPresent(),如果值不为 null,则返回 true。

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

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

2. isEmpty(),如果值为null,则返回true

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

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