Java基础—— == 和 equals的区别

使用 == 比较:
比较基本数据类型时, == 比较的是他们的值。
引用间的比较时, == 比较的是他们在内存中的地址,也就是说,除非引用指向的是同一个new出来的对象,
否则他们使用 == 比较都会返回false。


使用equals比较:
equals仅仅比较的是两个对象的内存地址是否相同,而在一些子类中,如String、Integer等,该方法将会重写。
如在String中:
该方法大致:如果比较的对象与自身内存地址相同,说明他两指向同一对象,所以此时返回的结果和 == 是一样的,为true。
当与自身内存地址不相同时,并且比较的对象时String类型,会执行一个遍历,遍历两个Sting中的char,
如果有一个字符不相等,就会返回false。

猜你喜欢

转载自blog.csdn.net/wy_is_learning/article/details/79428044