And*_*897 5 java optional java-8
我的代码从数据库读取一些配置值。如果它们未定义(由 getValueFromDB 方法返回 null),我想将它们默认为配置文件中定义的值。
是否可以Optional.ofNullable().OrElse()用于所有出现的getValueFromDB()空检查并在为空的情况下分配默认值。或者这会是滥用/滥用Optional吗?
这似乎是一种小小的虐待,但我对此并不强烈。也许如果有足够多的程序员开始这样做,它就会成为一种被接受的习惯用法。
但你可以做同样的事情而不使用Optional:
public static <T> T useValueOrDefault(T value, T defaultValue) {
return (value == null) ? defaultValue : value;
}
Run Code Online (Sandbox Code Playgroud)
并在各处使用此方法而不是Optional.ofNullable(value).orElse(default). (注:未测试)
我确实发现实现此目的的内置构造(例如||Javascript 或?:Kotlin 中的构造)非常有用。太糟糕了,Java 没有等效的东西(编辑:根据 @Holger 的评论,Java 9 已经引入了一个)。
| 归档时间: |
|
| 查看次数: |
1706 次 |
| 最近记录: |