我应该使用Guava Predicate还是Java Predicate?

时间:2016-03-16 04:07:57

标签: java guava predicate

据我所知,Guava中的Predicates是为填补Java中的差距而创建的,之后在Java 8中引入了Predicates。现在,当Java中有这样的功能时,使用Guava Predicates仍然有意义吗?这有增值吗?

1 个答案:

答案 0 :(得分:10)

如果你有机会使用Java 8,那么"去吧#34;。

历史上,Guava确实定义了PredicateFunction以及其他此类"功能接口" (因为它们现在被称为)早在Java 8甚至正式化之前;实际上,它们是相同的。

然而不一样的是Java 8带来了充分利用JSR 292的强大功能的语法,这就是为什么Objects::nonNull是有效的(java.util.function。){{1} }。

所以,虽然番石榴"早于" Java 8在很多方面都与这些接口有关,如果你使用Java 8,那么,使用Java 8.使用Java的功能,而不是番石榴等。如果你已经有了Guava&#39 ;这些接口的实例,您可以轻松地在Java 8中重用它们;例如,给定一个Guava Predicate,将其转换为Java 8谓词就像:

Predicate<Object>