在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到底意味着什么?开发