java a=b=c_Java编程中 a==b 和 a.equals(b) 的区别?
时间: 2024-04-28 20:21:04 浏览: 108
java中equals和==的区别.pdf
Java中的"=="和"equals()"都是用来比较两个对象是否相等的方法,但是它们的比较方式不同。
"=="比较的是两个对象在内存中的地址是否相同,也就是比较两个对象是否是同一个对象。如果两个对象的地址相同,那么返回true;否则返回false。
而"equals()"比较的是两个对象的内容是否相等,也就是比较两个对象是否具有相同的属性和值。如果两个对象的内容相同,那么返回true;否则返回false。
举个例子,如果a、b、c都是String类型的变量,且它们都指向同一个字符串"hello",那么a==b==c的结果为true,因为它们都是指向同一个地址;而a.equals(b)和a.equals(c)的结果也为true,因为它们的内容都相同。
需要注意的是,如果一个类没有重写equals()方法,那么它将继承Object类的equals()方法,这个方法比较的是两个对象的地址是否相同,等价于"=="操作符。因此,在比较两个自定义对象是否相等时,通常需要重写equals()方法来比较对象的内容。
阅读全文