1. 程式人生 > >JAVA基礎類庫——Java7新增的Objects類

JAVA基礎類庫——Java7新增的Objects類

Java7新增了一個Objects工具類,它提供了一些工具方法來操作物件,這些工具方法大多是“空指標”安全的。

如下所示:

public class ObjectsTest
{
  //定義一個obj變數,它的預設值是null
  static ObjectTest obj;
  public static void main(String[]args)
  {
    //輸出一個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!"));
  }
}

上面程式還示範了Objects提供的requireNonNull()方法,當傳入的引數不為null時,該方法返回引數本身;否則將會引發NullPointerException異常。該方法主要用來對方法形參進行輸入校驗,例如如下程式碼:
public Foo(Bar bar)
{
  //校驗bar引數,如果bar引數為null將引發異常;否則this.bar被賦值為bar引數
  this.bar=Objects.requireNonNull(bar);
}