1. 程式人生 > >java中的assert關鍵字

java中的assert關鍵字

因為我們平時不會用java自帶的assert斷言,基本都是junit之類的成熟框架,之所以會想到這個,是因為在java9的ArrayDeque中看到的如下的原始碼:

assert既然是為了除錯測試程式用,應該不在正式生產環境下用吧,但是這個原始碼中為什麼會有呢?

assert使用的方式,有如下的方式:

1、assert <boolean表示式>
如果<boolean表示式>為true,則程式繼續執行。
如果為false,則程式丟擲AssertionError,並終止執行。

2、assert <boolean表示式> : <錯誤資訊表示式>
如果<boolean表示式>為true,則程式繼續執行。
如果為false,則程式丟擲java.lang.AssertionError,並輸入<錯誤資訊表示式>。

當然預設jvm是沒有開啟斷言的,比如Idea可以配置改成這樣,eclipse估計也是差不多的,開關-enableassertions或-ea來開啟:

比如我寫個如下的例子:

輸出: