简介:
在JDK7中添加了一个Objects工具类,它提供了一些静态方法来操作对象,用于计算对象的hashCode,返回对象的字符串表示形式,比较二个对象。
常用方法有:
1,public static boolean equals(Object a, Object b):判断二个对象是否相等。
2,public static <T> T requireNonNull(T obj):检查指定对象obj不为null,如果为null抛出空指针异常,如果不为null返回obj对象本身。
3,public static boolean nonNull(Object obj):判断指定对象obj是否为null,不为null返回true,否则返回false。
4,public static boolean isNull(Object obj):判断指定对象obj是否为null,为null返回true,否则返回false。
示例代码:
public class Student {
private String name;
public Student() {
}
public Student(String name) {
this.name = name;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
Student student = (Student) o;
return Objects.equals(name, student.name);
}
@Override
public int hashCode() {
return Objects.hash(name);
}
}
public class Test {
public static void main(String[] args) {
Student s1 = new Student("张三");
Student s2 = new Student("李四");
System.out.println(Objects.equals(s1, s2));//false
System.out.println(Objects.requireNonNull(s1));//com.itheima.clazz.test04.Student@bd308
System.out.println(Objects.nonNull(s1));//true
System.out.println(Objects.isNull(s1));//false
}
}
|
|