是否将无参数方法改编成Consumer不良形式?

有人在another SO Answer上提出了一个问题,即这样做是不好的做法还是效率低下:

Optional<User> user = ...
user.ifPresent(u -> doSomethingWithoutUser());

代替

if (user.isPresent()) doSomethingWithoutUser();

具体来说,我们正在将零参数方法改编为Consumer<User>,而忽略了其参数u

  • 由于这不是Stream的非终端操作,因此doSomethingWithoutUser()可能有副作用这一事实就不必担心。
  • 我不介意 this 单行可选示例的细节,这可能是一长串功能/ Stream调用的结果,而这些调用很自然地就可以完成lambda调用的内联。
SanG_Soul 回答:是否将无参数方法改编成Consumer不良形式?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3150599.html

大家都在问