==默认判断两个对象的内存地址是否一致(String类除外),一般用在基本数据类型上
equals:object提供的方法,判断两个对象是否相等
默认情况下,==和equals等价。equals可以自己重写
字符串一定要用equals来判断
public class cat {
String name;
String color;
public cat(String name,String color){
this.name = name;
this.color = color;
}
public boolean equals(cat c){
if(this.color == c.color){
return true;
} else {
return false;
}
}
public static void main(String[] args) {
cat c1 = new cat("cgb","红色");
cat c2 = new cat("cgb","红色");
System.out.println(c1 == c2);//false
System.out.println(c1.equals(c2));//true
}
}
public class string_pra {
public static void main(String[] args) {
String str1 = "小红";
String str2 = "小红";
System.out.println(str1 == str2);//true
System.out.println(str1.equals(str2));//true
String str3 = new String("小明");
String str4 = new String("小明");
System.out.println(str3 == str4);//false
System.out.println(str3.equals(str4));//true
}
}