gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 04:58:53 28 4
gpt4 key购买 nike

据我所知,在 Java 8 中引入谓词之前,Guava 中的谓词是为了填补 Java 中的空白而创建的。现在当 Java 中有这样的功能时,使用 Guava 谓词是否仍然有意义?这有什么附加值吗?

最佳答案

如果你有机会使用 Java 8,那就“去吧”。

从历史上看,Guava 确实定义了Predicate。 , 或 Function和其他类似的“功能接口(interface)”(现在称为它们)早在 Java 8 正式化之前;实际上,它们是相同的。

但不同的是,Java 8 引入了充分利用 JSR 292 功能的语法,这就是为什么 Objects::nonNull是一个有效的 (java.util.function.) Predicate<Object> .

因此,虽然 Guava 在这些接口(interface)方面在很多方面“早于”Java 8,但如果您使用 Java 8,那么请使用 Java 8。使用 Java 的 Function,而不是 Guava 等。如果您已经拥有 Guava 的此类接口(interface)的实例,您可以轻松地在 Java 8 中重用它们;例如,给定一个 Guava 谓词,将其转换为 Java 8 谓词非常简单:

myPredicate::apply

关于java - 我应该使用 Guava Predicate 还是 Java Predicate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36026624/

28 4 0