java - 对 By/BySelector 使用 Optional 进行空检查
问题描述
我想重新编写我的空检查代码,并改用 Optional。
public BySelector select(BySelector bySelector, Boolean value) {
return (bySelector == null) ? By.checkable(value) : bySelector.checkable(value);
}
以上是我的原始代码。我不知道如何替换为可选。我尝试了以下方法,但它不起作用。请指教。谢谢你。
public BySelector select(BySelector bySelector, Boolean value) {
return Optional.ofNullable(bySelector.checkable(value).orElse(By.checkable(value);
}
解决方案
在您的情况下不需要使用 Optional ,因为它比简单的空检查不太清楚,但这就是我的做法:
Optional.ofNullable(bySelector)
.map(x -> By.checkable(value))
.orElse(BySelector.checkable(value));
也许您希望您的方法返回一个可选的,这更有意义。
推荐阅读
- string - 从头文件(waveshare Eink)中读取字符串数据到 arduino
- java - 添加到 ArrayLists 的问题
- java - 如何从android中的textview获取点击的文本部分?
- javascript - 骰子游戏正在计算正确的分数
- c - openMP 线程和迭代
- javascript - 如何在sequelize中对嵌套模型中的列进行排序?
- c - 奇怪的 c 编码风格
- php - Shell_exec 不响应大多数命令
- angular - 带有 Angular 客户端应用程序的身份服务器
- python - Python 中的崩溃或 ErrorValue - 关闭文件