【发布时间】:2020-03-15 02:30:43
【问题描述】:
假设我有:
public void func(){
Optional<Integer> firstRequiredOptional = ...
Optional<Integer> secondRequiredOptional = ...
if(firstRequiredOptional.isPresent() && secondRequiredOptional.isPresent()){
// do something with values of BOTH optionals
}
// Do nothing
}
如果两个选项都存在,这个函数只会执行if。
我正在尝试一种更简洁的方式(可能是函数ifPresent 类型)来编写这个,或者以某种方式将其转换为Optional<Integer, Integer>,如果可能的话,两个整数都在一个可选中?
写这个更简洁的方法是什么?
【问题讨论】:
-
@rkosegi:不,这不是这里要问的。
-
@rkosegi 不,它不会。问题不在于链接它们,而是同时使用它们。
-
为什么觉得不干净?
-
你的代码对我来说似乎是干净的方式
-
它完全满足它的需要(不多也不少),速度快,易于阅读。但人们更喜欢复杂的表达方式。