public class OverrideEquals {
void checkEquals(){
String s1=new String("hello");
String s2=new String("hello");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
class myValue{
int i;
@Override
public boolean equals(Object o){
if(this==o){
return true;
}
if(o instanceof myValue){
if(((myValue)o).i==this.i){
return true;
}
}
return false;
}
}
myValue m1=new myValue();
myValue m2=new myValue();
m1.i=m2.i=2003;
System.out.println(m1.equals(m2));
}
public static void main(String[] args) {
OverrideEquals overrideEquals=new OverrideEquals();
overrideEquals.checkEquals();
//重写equlas ,假如类的属性相同,判断是否同一个类
}
void checkEquals(){
String s1=new String("hello");
String s2=new String("hello");
System.out.println(s1==s2);
System.out.println(s1.equals(s2));
class myValue{
int i;
@Override
public boolean equals(Object o){
if(this==o){
return true;
}
if(o instanceof myValue){
if(((myValue)o).i==this.i){
return true;
}
}
return false;
}
}
myValue m1=new myValue();
myValue m2=new myValue();
m1.i=m2.i=2003;
System.out.println(m1.equals(m2));
}
public static void main(String[] args) {
OverrideEquals overrideEquals=new OverrideEquals();
overrideEquals.checkEquals();
//重写equlas ,假如类的属性相同,判断是否同一个类
}
}
结果是:
false
true
true