equal和==有什么区别

回答
爱扬教育

2022-06-22

  • 相关推荐
功能不同:
"=="是判断两个变量或实例是不是指向同一个内存空间。
"equals"是判断两个变量或实例所指向的内存空间的值是不是相同。

扩展资料

  运行速度不同:

  "=="比"equals"运行速度快,因为"=="只是比较引用。

  "equals"比"=="运行速度要慢。

  equals()方法特点:

  1、自反性:x.equals(x)返回true;

  2、对称性:若x.equals(y)为true,则y.equals(x)亦为true;

  3、传递性:若x.equals(y)为true且y.equals(z)也为true,则x.equals(z)亦为true;

  4、一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、第n次调用也均为true,前提条件是没有修改x也没有修改y;

  5、对于非空引用x,x.equals(null)永远返回为false。