黑马程序员技术交流社区

标题: 【广州校区】【原创】Objects类介绍 [打印本页]

作者: 新君    时间: 2018-8-30 08:19
标题: 【广州校区】【原创】Objects类介绍
简介:
在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
    }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2