gpt4 book ai didi

java - 如果不存在这样的对象,在 findXY 方法中做什么?

转载 作者:行者123 更新时间:2023-11-29 10:10:23 24 4
gpt4 key购买 nike

假设我有一个 Java 方法

public X findX(...)

它试图找到满足某些条件(在参数中给定)的 X 类型的对象。通常这样的函数不能保证找到这样的对象。我可以想出不同的方法来处理这个问题:

  1. 可以编写具有相同签名的 public boolean existsX(...) 方法,该方法应首先调用。这避免了任何类型的异常和空值处理,但您可能会得到一些重复的逻辑。

  2. 可以只返回 null(并在 javadoc 中对此进行解释)。调用者必须处理它。

  3. 一个人可以抛出一个已检查的异常(哪个适合这个?)。

你有什么建议?

最佳答案

新的 Java 8 Optional 类就是为此目的而创建的。

如果对象存在则返回 Optional.of(x) 其中 x 是对象,如果不存在则返回 Optional.empty( )。您可以使用 isPresent() 方法检查 Optional 是否存在对象,您可以使用 get() 获取对象。

https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html

关于java - 如果不存在这样的对象,在 findXY 方法中做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39305405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com