==时一个判断相等的运算符
这个运算符的两边如果是基本数据类型,判断的是基本数据类型的值是否相等
//比如:
int i = 3;
int j = 3;
System.out.println(i == j);//结果为true
这个运算符的两边如果是某个类类型的对象,判断的是两个对象是否是同一地址
//先定义一个Student类
Student stu1 = new Student();
Student stu2 = new Student();
System.out.println(str1 == str2);//结果为false
equals方法不能判断基本数据类型的数据,只能判断对象是否相等
如果没有重写equals方法,那么equals的方法判断的是地址
因为equals方法是继承自Object的equals方法,Object类中的equals方法判断的是地址
//此段代码为equals在Object中的源码
public boolean equals(Object obj) {
return (this == obj);
}
如果某个类重写了equals方法,那么就看equals方法中实现的判断是什么,一般情况下判断的是equals两端的对象内容
在java的类库中象String,封装类(Integer,Float,Double,…)中的equals判断的就是内容是否相等
技术小白的个人理解,欢迎大家给予意见,我会继续努力发表一些对大家有帮助的内容