进阶day01-Objects类的equals方法

This commit is contained in:
2026-01-26 14:29:11 +08:00
parent 547a7ce1d0
commit faaad59b18

View File

@@ -0,0 +1,37 @@
package com.inmind.object01;
import java.util.Objects;
/*
Objects工具类的equals方法
static boolean equals(Object a, Object b) 返回 true如果参数相等彼此 false否则。
源码:
public static boolean equals(Object a, Object b) {
return (a == b) || (a != null && a.equals(b));
}
注意Objects工具类的equals方法是没有对任何自定义类的对象的内容进行比较的功能的它还是
借用传入的形参一 a的equals方法
Objects类的equals方法的作用:在实现判断2个对象是否相同的基础上,有效地避免空指针异常
注意如果一个自定义类的对象在比较属性是否相同则为同一个对象时必定要重写equals方法
*/
public class Demo03 {
public static void main(String[] args) {
Person p1 = new Person("刘备", 18);
Person p2 = new Person("刘备", 18);
//普通写法:
System.out.println(p1.equals(p2));//true
// p1 = null;
/*if (p1 != null) {//健壮性地非空判断
System.out.println(p1.equals(p2));
}*/
//工具类写法
System.out.println(Objects.equals(p1, p2));//false
System.out.println("程序结束");
}
}