1.equals()和==到底有什么区别啊?
equals()和==到底有什么区别啊?
1、源码功能不同"=="是解析判断两个变量或实例是不是指向同一个内存空间。
"equals"是源码判断两个变量或实例所指向的内存空间的值是不是相同。
2、解析溯源码燕窝厂定义不同
"equals"在JAVA中是源码一个方法。
"=="在JAVA中只是解析网络程序源码一个运算符合。
例子:
Student student1 = new Student();
Student student2 = new Student();
System.out.println(student1.equals(student2));
System.out.println(student1 == student2);
3、源码运行速度不同
"=="比"equals"运行速度快,解析因为"=="只是源码比较引用。
"equals"比"=="运行速度要慢。解析
扩展资料
equals()方法特点:
1、源码自反性:x.equals(x)返回true;
2、解析对称性:若x.equals(y)为true,源码rpx指标源码则y.equals(x)亦为true;
3、解析传递性:若x.equals(y)为true且y.equals(z)也为true,源码则x.equals(z)亦为true;
4、go get源码一致性:x.equals(y)的第一次调用为true,那么x.equals(y)的第二次、第三次、洪湖源码建站第n次调用也均为true,前提条件是没有修改x也没有修改y;
5、对于非空引用x,x.equals(null)永远返回为false。
参考资料:百度百科-equals