在Java8中,Boolean
类中添加了新的方法。
让我们来谈谈其中的一个
public static boolean Boolean.logicalOr(boolean a , boolean b)
现在,我的问题是,为什么需要它们?
下面两种情况有什么不同。
boolean result = a || b;
或Boolean result = Boolean.logicalOr(a,b);
Boolean.logicalOr()
有什么特别之处?什么时候我应该更喜欢其中一个?
发布于 2017-01-19 16:16:28
这些方法主要是为了方便您使用,并通过使用lambdas/stream中的方法引用来使代码更具可读性。让我们看一个例子:
Stream.of(/* .. some objects .. */)
.map(/* some function that returns a boolean */)
.reduce(Boolean::logicalOr);
尝试用a || b
编写这段代码
Stream.of(...)
.map(...)
.reduce((a, b) -> a || b); // logicalOr is actually using ||
可读性不是很好,对吧?
正如Sotirios Delimanolis在评论中所述,您可能还想看一看javadoc并遵循@see BinaryOperator。或者看看function package summary javadoc。
https://stackoverflow.com/questions/41736767
复制相似问题