参考资料
[1]. 疯狂Java讲义(第三版) 李刚
概述
Java 7新增了一个Object工具类,它提供了一些工具方法来操作对象,这些工具方法大多是“空指针”安全的。
检测类方法
代码如下:
public class ObjectsTest
{
// 定义一个obj变量,它的默认值是null
static ObjectsTest obj;
public static void main(String[] args)
{
// 下面将引发java.lang.NullPointerException异常
// System.out.println(obj.toString());
// 输出一个null对象的hashCode值,输出0
System.out.println(Objects.hashCode(obj));
// 输出一个null对象的toString,输出null
System.out.println(Objects.toString(obj));
// 要求obj不能为null,如果obj为null则引发异常
System.out.println(Objects.requireNonNull(obj, "obj参数不能是null!"));
}
}
检测传入的参数
// 这是一个构造器
public Foo(Bar bar)
{
// 检验bar参数,如果bar参数为null将引发异常;否则this.bar被赋值为bar参数
this.bar = Objects.requireNonNull(bar);
}