IDEA中java斷言assert語法及使用
前言
同C語言一樣,Java也有斷言關(guān)鍵字assert,它們的用法也比較相似。
注意:Java的斷言是從1.4版本開始的,以前的版本不支持斷言。
一、斷言語法
java中斷言有兩種語法
assert 布爾表達式;
assert 布爾表達式 :“錯誤信息提示”;
- 第一種語法如果條件判斷為ture程序繼續(xù)執(zhí)行,如果判斷為false,則會終止程序并報出AssertionError異常。
- 第二種語法如果判斷為ture程序也是繼續(xù)執(zhí)行,如果判斷為false,則會終止程序并報出你所輸入的錯誤信息。
二、IDEA中的斷言
在IDEA中斷言是默認關(guān)閉的,需要我們手動打開。
找到你需要斷言的類在 VM options中輸入-ea就好了
三、代碼示例
public class Test{ public static void toString(int[] arr){ assert arr!=null : "你傳遞了一個錯誤的引用"; for (int i = 0; i < arr.length; i++) { System.out.println(arr[i]); } } public static void main(String[] args) { int[] array = {1,2,3,4,5,6,7,8,9}; toString(null); } }
可以看到但布爾表達式判斷為false程序會停止運行并報出錯誤。
總結(jié)
斷言我們是不建議使用的,我了解到幾個原因
- 斷言不是默認開啟的,需要手動開啟,這就給程序的移植帶來了不便。
- 一旦斷言判斷失敗整個程序就會終止,在一個生產(chǎn)環(huán)境下的應(yīng)用是非常危險的。
- 所以我們應(yīng)該避免使用斷言,使用if語句判斷會更好。
到此這篇關(guān)于IDEA中java斷言assert介紹的文章就介紹到這了,更多相關(guān)java斷言assert內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java多線程通過CompletableFuture組裝異步計算單元
這篇文章主要為大家介紹了java多線程通過CompletableFuture組裝異步計算單元,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-04-04Java實現(xiàn)統(tǒng)計文檔中關(guān)鍵字出現(xiàn)的次數(shù)
這篇文章主要為大家分享了利用Java語言實現(xiàn)統(tǒng)計關(guān)鍵字在文檔中出現(xiàn)的次數(shù)的方法,文中的示例代碼講解詳細,感興趣的小伙伴可以了解一下2022-05-05mybatis錯誤之in查詢?<foreach>循環(huán)問題
這篇文章主要介紹了mybatis錯誤之in查詢?<foreach>循環(huán)問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01微信js sdk invalid signature簽名錯誤問題的解決方法分析
這篇文章主要介紹了微信js sdk invalid signature簽名錯誤問題的解決方法,結(jié)合實例形式分析了微信簽名錯誤問題相關(guān)解決方法,需要的朋友可以參考下2019-04-04Redis結(jié)合AOP與自定義注解實現(xiàn)分布式緩存流程詳解
項目中如果查詢數(shù)據(jù)是直接到MySQL數(shù)據(jù)庫中查詢的話,會查磁盤走IO,效率會比較低,所以現(xiàn)在一般項目中都會使用緩存,目的就是提高查詢數(shù)據(jù)的速度,將數(shù)據(jù)存入緩存中,也就是內(nèi)存中,這樣查詢效率大大提高2022-11-11