在Java江湖流傳着這樣一個傳說:直到真正瞭解了空指針異常,才能算一名合格的Java開發人員。在咱們逼格閃閃的java碼字符生涯中,天天都會遇到各類null的處理,像下面這樣的代碼可能咱們天天都在反覆編寫:java
if(null != obj1){ if(null != obje2){ // do something } }
稍微有點眼界javaer就去幹一些稍有逼格的事,弄一個判斷null的方法:spa
boolean checkNotNull(Object obj){ return null == obj ? false : true; } void do(){ if(checkNotNull(obj1)){ if(checkNotNull(obj2)){ //do something } } }
而後,問題又來了:若是一個null表示一個空字符串,那""表示什麼?指針
而後慣性思惟告訴咱們,""和null不都是空字符串碼?索性就把判斷空值升級了一下:code
boolean checkNotBlank(Object obj){ return null != obj && !"".equals(obj) ? true : false; } void do(){ if(checkNotBlank(obj1)){ if(checkNotNull(obj2)){ //do something } } }
有空的話各位能夠看看目前項目中或者本身過往的代碼,到底寫了多少和上面相似的代碼。內存
不知道你是否定真思考過一個問題:一個null到底意味着什麼?開發