Java常用类学习:Object类(equals方法)
-
equals方法:
-
Object equals()方法用于比较2个对象是否相等;
-
equals()方法比较2个对象,是判断2个对象的引用是否相同;即比较2个对象的内存地址是否相等;
-
注意:如果子类重写了equals()方法,就需要重写hashCode()方法,比如String类就重写了equals()方法,同时也重写了hashCode()方法;
-
-
语法:
-
object.equals(Object obj);
-
-
参数:
-
-
返回值:
-
boolean类型,如果2个对象相等返回true,否则返回false;
-
-
代码案例:equals比较
public class ObjectDemo02 {
public static void main(String[] args) {
Student st1=new Student();
Student st2=new Student();
//判断st1与st2是否相等:
//不同对象,内存地址不同,所以不相等;返回false
if(st1.equals(st2)){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
System.out.println("---------------------------");
//str1赋值给obj3
//String重写了equals()方法
//对象引用,内存地址相同,返回true
Object obj3=st1;
if(ob3.equals(str1)){
System.out.println("匹配");
}else{
System.out.println("不匹配");
}
}
}
-
String类重写了equals()方法,用于比较2个字符串是否相等;
-
代码案例2:
public class ObjectDemo03 {
public static void main(String[] args) {
//String类使用equals()方法
//创建2个对象
String str1=new String();
String str2=new String();
//判断str1与str2是否相等
//初始化的2个对象都为null,所以是相等,返回true
System.out.println(str1.equals(str2));
//给对象赋值
str1="haha";
str2="xixi";
//2个值不同,内存地址也不同,所以不相等,返回false
System.out.println(str1.equals(str2));
}
}

浙公网安备 33010602011771号