Equals是判断相等的那判断不相等的应该怎么写
时间: 2023-08-04 10:06:13 浏览: 78
在Java中,判断不相等可以使用 != 运算符,例如:
```
if (a != b) {
// a和b不相等的情况下执行的代码
}
```
其中,a和b是需要比较的两个值。如果a和b不相等,就会执行if语句块中的代码。
相关问题
为什么不建议用 equals 判断对象相等
在Java编程语言中,equals方法用于判断两个对象是否相等。然而,有时候Java程序员不建议使用equals方法来判断对象相等,而是使用另一种方法。
首先,equals方法可能会返回false来表示两个相等的对象不相等。这是因为equals方法只检查对象的引用是否相等,它并不检查对象的实际内容是否相等。如果我们想要比较对象的内容,我们必须自己定义一个equals方法并从头开始实现它。
其次,如果我们使用equals方法来比较对象相等,我们必须要实现equals和hashCode方法。这是因为对于equals方法和hashCode方法,只要有一个方法被实现,就必须同时实现另一个方法。如果我们没有正确地实现这两种方法,那么当我们将对象存放在集合中时,集合会出现意想不到的错误。
最后,equals方法在某些情况下可能比另一种方法更慢。这是因为equals方法必须先检查两个对象的类型,然后再比较它们的引用或内容。相反,另一种方法只需比较两个对象的引用即可。在处理大量数据时,这种差异可能会影响程序的性能。
因此,尽管equals方法是Java编程语言的重要部分之一,但它并不总是适合用于判断对象相等。需要视情况选择合适的方法。
下列equals 和 hashcode 的区别说法不正确的是? 如果两个对象hashcode不相等,他们的equals不一定相等。 如果两个对象hashcode相等,他们的equals不一定相等。 如果两个对象equals不相等,他们的hashcode一定不相等。 如果两个对象equals相等,Java运行时环境会认为他们的hashcode一定相等。
如果两个对象equals相等,Java运行时环境会认为他们的hashcode一定相等 这个说法不正确。因为Java运行时环境只是建议开发者重写equals方法时,同时也重写hashCode方法,并且要让两个相等的对象返回相同的hashCode值,但并不强求二者之间的关系。也就是说,完全可以有两个不同的对象,它们的hashCode值相同,但其equals方法返回false。
阅读全文