“==” 运算符一般用于基本数据类型的比较,如果用于两个引用对象的比较,则
只有当两个引用变量引用同一个对象时,才返回true,否则返回false.
String s1=new Strng(“java”);
String s2=new Strng(“java”);
System.out.pritnln(s1==s2); //显示false
但是,假如不使用new 关键字,创建String 型对象s3,s4,则它们引用的是同一个对象。
String s3=“java”;
String s4=“java”;因为没有使用new 关键字,所以s4 引用既存的对象
System.out.pritnln(s3==s4); //显示true,
比较对象内容时,使用equals()函数
Object 类的equals()定义
Public boolean equals(Object obj){
return (this==obj);
}
由于String 类覆盖了继承自Object类的equals()方法,它比较的是引用对象的内容.
所以,没有覆盖equals()方法的类的对象使用该方法与另一对象进行比较时,永远返
回false; 只是因为此时进行比较调用的是Object的equals方法.
|
|