38 lines
1.3 KiB
Java
38 lines
1.3 KiB
Java
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("程序结束");
|
||
}
|
||
}
|