s-day01-Objects类的equals方法
This commit is contained in:
@@ -0,0 +1,33 @@
|
|||||||
|
package com.inmind.objects02;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
/*
|
||||||
|
Objects类的equals方法
|
||||||
|
static boolean equals(Object a, Object b) 返回 true如果参数相等,彼此 false否则。
|
||||||
|
|
||||||
|
Objects类的equals方法的作用:在实现判断2个对象是否相同的基础上,有效地避免空指针异常
|
||||||
|
*/
|
||||||
|
public class Demo04 {
|
||||||
|
public static void main(String[] args) {
|
||||||
|
Person p1 = new Person("貂蝉", 18);
|
||||||
|
Person p2 = new Person("貂蝉", 18);
|
||||||
|
|
||||||
|
System.out.println(p1);
|
||||||
|
System.out.println(p2);
|
||||||
|
System.out.println(p1.equals(p2));//true
|
||||||
|
|
||||||
|
// p1 = null;
|
||||||
|
/*if (p1 != null) {
|
||||||
|
System.out.println(p1.equals(p2));//空指针异常
|
||||||
|
}*/
|
||||||
|
/*
|
||||||
|
Objects类的equals方法
|
||||||
|
static boolean equals(Object a, Object b) 返回 true如果参数相等,彼此 false否则。
|
||||||
|
*/
|
||||||
|
boolean result = Objects.equals(p1, p2);
|
||||||
|
System.out.println(result);//true
|
||||||
|
|
||||||
|
System.out.println("程序结束");
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
package com.inmind.objects02;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
|
||||||
|
//直接继承Object类
|
||||||
|
public class Person{
|
||||||
|
String name;
|
||||||
|
int age;
|
||||||
|
|
||||||
|
public Person(String name, int age) {
|
||||||
|
this.name = name;
|
||||||
|
this.age = age;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return "Person{" +
|
||||||
|
"name='" + name + '\'' +
|
||||||
|
", age=" + age +
|
||||||
|
'}';
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean equals(Object o) {
|
||||||
|
if (o == null || getClass() != o.getClass()) return false;
|
||||||
|
|
||||||
|
Person person = (Person) o;
|
||||||
|
return age == person.age && Objects.equals(name, person.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int hashCode() {
|
||||||
|
int result = Objects.hashCode(name);
|
||||||
|
result = 31 * result + age;
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user