==:用于比较两个对象的引用是否相同(可以理解为:比较两个对象的地址是否相同)
注意:当比较两个基本数据类型的变量是否相等时(基本数据类型包括:byte short int long float double),当它们的值相同时,则
结果就为true
equals:用于比较两个对象所指地址中的内容是否相等
eg: public class class6_1
{
public static void main(String args[])
{
String s1=new String("abc");
String s2=new String("abc");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
System.out.println("****************");
s1=s2;
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
}
}
运行以后的结果为
false
true
********************
true
true
注意:equals方法最初是在Object类(该类是所有类的父类)中定义的方法 只不过是String类在其内部重写了该方法而已
在Object类中定义的equals方法是直接使用"=="比较两个对象的 所以在没有重写该方法的情况下 equals方法与==
一样是比较两个对象的引用的