無感NullPointerException的值相等判斷方法
場景:當我們需要去判斷一個 入?yún)?查庫 返回的開關變量(通常是個Integer類型的)時,常常會寫如下的if-else判斷語句。但又會為在生產(chǎn)環(huán)境看到的「NullPointerException」感到困擾。遇到過這樣問題的小伙伴,可以繼續(xù)向下看:
public static void main(String[] args) { ? ?Integer a = 1; ? ?Integer b = null; ? ?if(b!=1){ ? ? ? System.out.println("不等于"); ? ?}else { ? ? ? System.out.println("等于"); ? ?} }
這里b=nll,直接來看「b!=1」是可以打印出「不等于」的,但結果竟是出乎意料的空指針異常:
Exception in thread "main" java.lang.NullPointerException ? ? at com.XXX.Controller.main(XXX.java:223)
為了避免上面的問題:
方法一:
在if分支中添加判空的邏輯:
if(null!= b && b!=1)
??????方法二(更優(yōu)雅):
我們可以使用「Objects.equals()」工具類來實現(xiàn)判斷邏輯:
public static void main(String[] args) { ? ?Integer a = 1; ? ?Integer b = null; ? ?if(!Objects.equals(1,b)){ ? ? ? System.out.println("不等于"); ? ?}else { ? ? ? System.out.println("等于"); ? ?} }
輸出結果:
不等于
當然,不影響本就不相等的情況,例如:「b=2」,輸出的是「不等于」
到此這篇關于無感NullPointerException的值相等判斷的文章就介紹到這了,更多相關NullPointerException的值相等判斷內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
深入淺析java web log4j 配置及在web項目中配置Log4j的技巧
這篇文章主要介紹了2015-11-11springboot中@ConfigurationProperties無效果的解決方法
本文主要介紹了springboot中@ConfigurationProperties無效果,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-06-06Spring?Boot整合持久層之JdbcTemplate多數(shù)據(jù)源
持久層是JavaEE中訪問數(shù)據(jù)庫的核心操作,SpringBoot中對常見的持久層框架都提供了自動化配置,例如JdbcTemplate、JPA 等,MyBatis 的自動化配置則是MyBatis官方提供的。接下來分別向讀者介紹Spring Boot整合這持久層技術中的整合JdbcTemplate2022-08-08postman?如何實現(xiàn)傳遞?ArrayList?給后臺
這篇文章主要介紹了postman?如何實現(xiàn)傳遞?ArrayList給后臺,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12