File size: 1,659 Bytes
0284885 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | package Objects_package;
import java.util.Objects;
public class Objects_demo1 {
public static void main(String[] args) {
/*
public static boolean equals (Object a, Object b) 先做非空判断,比较两个对象
public static boolean isNull (Object obj) 判断对象是否为null,为null返回true,反之
public static boolean nonNull (Object obj) 判断对象是否为null,跟isNull的结果相反
*/
//1、创建学生类的对象
Student s1 = null;
Student s2 = new Student("张三", 23);
//2、比较两个对象的属性值是否相同
// if (s1 != null) {
// boolean result = s1.equals(s2);
// System.out.println(result);
// } else {
// System.out.println("调用者为空");
// }
boolean result = Objects.equals(s1, s2);
System.out.println(result);
//细节:
//1、方法的底层会判断s1是否为null,如果为null,直接返回false
//2、如果s1不为null,那么就利用s1再次调用equals方法
//3、此时s1是Student类型,所以最终还是会调用Student中的equals方法
// 如果没有重写,比较地址值,如果重写了,就比较属性值
//public static boolean isNull (Object obj) 判断对象是否为null,为null返回true,反之
Student s3 = new Student();
System.out.println(Objects.isNull(s3));
System.out.println(Objects.isNull(s1));
System.out.println(Objects.nonNull(s3));
System.out.println(Objects.nonNull(s1));
}
}
|