equals和==的区别:
- ==是比较引用类型的地址是否相同,或者数值类型的值大小是否相同
- Object类下equals方法是比较两对象所指向地址是否相同
- String类重写了Object类的equals方法,两对象所指向地址相同为true或者两字符串对象内容按位相等也为true
//equals和==的区别
//针对类对象
Person p1 = new Person();
Person p2 = new Person();
System.out.println(p1==p2);//flase
System.out.println(p1.equals(p2));//false
//针对字符串
String s1 = new String("字符串比较");
String s2 = new String("字符串比较");
String s3 = s2;
System.out.println(s1==s2);//flase,俩对象(引用类型,s1,s2,s3都为对象的地址)地址不同为false
System.out.println(s1.equals(s2));//true,俩对象字符串内容对应相等为true
System.out.println(s2.equals(s3));//true,俩对象所指向地址相同为true