Java檢查非空的三種方法總結

如果對空的對象進行操作,就會造成意外錯誤。所以我們在使用對象前,一般會進行非空判斷

接下來介紹我知道的三種判斷非空方法:

1、if判斷

這個最直接,很多人應該都是這麼用的

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        if(obj!=null)
        {
            System.out.println("執行接下來的代碼");
        }
    }
}

不必多言

2、Objects.requireNonNull(obj)

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        Objects.requireNonNull(obj);
        System.out.println("執行接下來代碼");
    }
}

我們將需要判斷非空的對象傳入Objects.requireNonNull()方法,如果此時對象為空,則會拋出一個NullPointerException異常,後面的代碼就不會執行下去瞭,避免瞭非法操作。

3、斷言 assert

public class Main
{
    public static void main(String[] args) {
        Object obj=null;
        assert obj!=null;
        System.out.println("執行接下來代碼");
    }
}

斷言語句後面跟著一個表達式,如果表達式為true則繼續往下執行,否則拋出一個AssertionError異常。

但是有的小夥伴執行這段代碼可能不會報錯,這是因為我們所用的開發環境並沒有啟動斷言機制,所以沒生效,我們需要添加一個JVM參數,叫做-ea。

接下來我以IDEA為例說一下怎麼添加JVM參數。

先打開如圖設置

點擊Modify options,確保Add VM options這一項打開著

然後我們在這一欄填上-ea,點ok保存就可以瞭。

這個-ea是幹嘛的呢,它的意思就是啟動斷言機制。

以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。

推薦閱讀: