假设我有一个Java方法
public X findX(...)
Run Code Online (Sandbox Code Playgroud)
它试图找到X满足某些条件的类型的对象(在参数中给出).通常这样的功能不能保证找到这样的对象.我可以想出不同的方法来解决这个问题:
可以编写一个public boolean existsX(...)具有相同签名的方法,该方法应首先调用.这可以避免任何类型的异常和空值处理,但可能会出现一些重复的逻辑.
可以只返回null(并在javadoc中解释).来电者必须处理它.
可以抛出一个检查过的异常(哪一个适合这个?).
你会建议什么?
新的Java 8 Optional类是为此目的而创建的.
如果对象存在,则返回对象Optional.of(x)所在的位置x,如果不存在则返回Optional.empty().您可以Optional使用该isPresent()方法检查是否存在对象,并且可以使用该对象get().
https://docs.oracle.com/javase/8/docs/api/java/util/Optional.html
| 归档时间: |
|
| 查看次数: |
58 次 |
| 最近记录: |