📌  相关文章
📜  Java中的 OptionalInt ifPresentOrElse() 方法及示例(1)

📅  最后修改于: 2023-12-03 15:31:54.746000             🧑  作者: Mango

Java中的OptionalInt ifPresentOrElse()方法及示例

当我们需要判断一个可选的int值是否存在时,可以使用Java中的OptionalInt类。OptionalInt类是一个jdk8新引入的类,它是一个可选的int值包装器,可以帮助我们避免拆箱操作和空指针异常。

OptionalInt类中的ifPresentOrElse()方法可以根据OptionalInt是否存在来执行指定的操作。如果OptionalInt存在,则执行第一个操作,否则执行第二个操作。

方法签名
public void ifPresentOrElse(IntConsumer action, Runnable emptyAction)

参数说明:

  • action:如果OptionalInt对象存在,则会运行此函数式接口的操作。
  • emptyAction:如果OptionalInt对象不存在,则会运行此Runnable接口的操作。
示例代码
import java.util.OptionalInt;

public class OptionalDemo {
    public static void main(String[] args) {
        OptionalInt optionalInt = OptionalInt.of(42);
        optionalInt.ifPresentOrElse(
                value -> System.out.println("OptionalInt的值为:" + value),
                () -> System.out.println("OptionalInt为空")
        );
    }
}

输出结果:

OptionalInt的值为:42

解析: 在示例代码中,我们创建了一个OptionalInt对象,值为42。然后,我们调用了ifPresentOrElse()方法。由于OptionalInt存在,因此执行第一个操作,即打印“OptionalInt的值为:42”。

再看一下下面这个例子:

import java.util.OptionalInt;

public class OptionalDemo {
    public static void main(String[] args) {
        OptionalInt optionalInt = OptionalInt.empty();
        optionalInt.ifPresentOrElse(
                value -> System.out.println("OptionalInt的值为:" + value),
                () -> System.out.println("OptionalInt为空")
        );
    }
}

输出结果:

OptionalInt为空

解析: 在示例代码中,我们创建了一个空的OptionalInt对象。然后,我们调用了ifPresentOrElse()方法。由于OptionalInt不存在,因此执行第二个操作,即打印“OptionalInt为空”。

总结

Java中的OptionalInt ifPresentOrElse()方法是一个很方便的操作可选int值的方法。可以避免拆箱操作和空指针异常,使程序更加健壮。