java.util.Objects.equals和com.google.common.base.Objects.equals有什么区别?

时间:2015-07-23 16:58:10

标签: java guava

有没有理由使用Guava而不是java.util实现?

2 个答案:

答案 0 :(得分:13)

java.util.Objects及其equals方法仅在Java 7之后存在。番石榴版本早于它。如果您至少使用Java 7,则没有理由使用Guava版本。

答案 1 :(得分:6)

除了Guava方法早于Java 7之外,还有一个区别:Guava方法称为 equal ,而Java方法称为equals。这实际上很重要,因为这意味着Java版本不能与静态导入一起使用。 (即使忽略了这一点,我认为equal是一个更好的名称,用于获取两个参数并将它们与相等性进行比较的静态方法,而equals更适合像Object.equals这样的实例方法。)

所有这一切,如果您使用的是JDK7,您应该使用java.util.Objects版本。