equals源代码
public boolead equals (Obect obj){
return(this =obj)
}
以上这个方法是object类的默认实现。
判断两个java对象是否相等,不能使用“”,因为“”比较的是两个对象的内存地址
obj中的equals比较的是两个对象的内存地址,需要我们重写
tostring方法
1、String类已经重写了equals方法,比较两个字符不能使用“==”必须使用equals。equals是通用的。
2、String类已经重写了toString方法
结论
java中的基本数据类型比较,使用“==”
Java中的引用数据类型统一使用equals方法来判断是否相等
public class EqualsTest {
public static void main(String[] args) {
int a =100;
int b =00;
//判断的是内存地址
System.out.println(a==b);//false
String s="123";
String y="456";
System.out.println(s==y);//false
String q = new String("1");
String w =new String("1");
System.out.println(q==w);//false
System.out.println();
//String类已经重写toString,输出的不是内存地址
System.out.println(q);
System.out.println(w);
}