"=="和equals方法究竟有什么区别?

equals逻辑运算浏览:575收藏:3
答案:
他们的区别主要存在在引用数据类型上
==为比较两侧的对象是否同一对象,是用内存地址来比较的

equals是方法,默认是用内存地址比较,重写后,主要是用来比较两侧的对象的值是否相同,和equals方法中的实现有关
==可以两侧都为null,但equals左侧的引用指向的对象不能空,不然有NullPointerException

除非需要比较两个引用指向的对象是同一对象,一般都使用equals方法进行比较。尤其是String之类的值对象,另外,常量尽量放在比较的左侧