当前位置: 首页 > news >正文

南宁市建设工程质量安全协会网站福建seo排名

南宁市建设工程质量安全协会网站,福建seo排名,asp网站开发人员招聘,南京网站搭建公司首先,这个问题就很有意思,相信大部分人第一反应不就是null吗? 比如: if(str ! null){}可是,很多时候我们判断前端送过来的值,有可能是空字符串,所以更严格的写法是: if(str ! nul…

首先,这个问题就很有意思,相信大部分人第一反应不就是null吗?

比如:

if(str != null){}

可是,很多时候我们判断前端送过来的值,有可能是空字符串,所以更严格的写法是:

if(str != null && !str.equals("")){}

眼疾手快的同学肯定发现了问题,如果strnull怎么办?

其实就算是null也没关系,因为前面已经判断了不为null,&&是短路与,如果前面的条件不是true,后面的压根不会执行。

于是,这段代码成了很多公司的首选。

有人问,为什么要判断是不是空字符串,我不判断行不行。

有些情况行,但是很多情况就是不可以。

比如你看这里的代码:

if(userNo != null){User user = userMapper.selectOne(userNo);log.info(user.userName);
}

如果传过来的就是一个空字符串,那么是会进入这个逻辑的,查出来的usernull,在user.userName的时候就会报空指针。

个别头铁的同学又会问,那我抛出异常不就行了。

if(userNo != null && userNo.equals("")){User user = userMapper.selectOne(userNo);if(user == null){throw new Exception("用户不存在!");}log.info(user.userName);
}

乍一看是没问题,但是你细品,问题就大了。 比如我的业务场景是,用户存在就增加积分,用户不存在就创建这个用户。

看代码:

if(userNo != null){User user = userMapper.selectOne(userNo);if(user == null){throw new Exception("用户不存在!");}addPoints(user,100);
}else{addUser();
}

代码的本意是,有userNo我就给他加积分,没有userNo就去新增这个用户。

现在你传了一个空字符串过来,意思是空,却走进了加积分的逻辑。就算报错,可真的是客户想要的吗?客户是希望,我没有用户账号,你给我新增一个。

所以这就与业务相悖了。

好了,我其实会读心术,你此刻也许在想,那我随便传一个找不到的userNo给你,你不还是走不到addUser的逻辑吗?

亲,你传个空字符串和null的本意肯定是,这个东西我没有。但是你传一个错误的数据,那性质就不一样了,意思是我有这个东西,但是我填错了。那么这样的逻辑自然就没有问题啦。

所以,我们要牢记,如果业务上这个东西的概念是一个空,就一定要既判断null,还要判断空字符串,双管齐下才能确保万无一失。

当然,实际上这么常见的功能,我们大可以使用org.apache.commons.lang3.StringUtilsisNotBlank方法:

isNotBlank

    public static boolean isNotBlank(CharSequence cs) {return !isBlank(cs);}

isBlank

public static boolean isBlank(CharSequence cs) {int strLen = length(cs);if (strLen == 0) {return true;} else {for(int i = 0; i < strLen; ++i) {if (!Character.isWhitespace(cs.charAt(i))) {return false;}}return true;}}

length

    public static int length(CharSequence cs) {return cs == null ? 0 : cs.length();}

它不仅帮你判断了null和空字符串,还给你判断了空格,简直不要太爽!

一个小小的判空,却很可能让你吃了大亏,如果一个判空没有做好,那么里面的逻辑就完全裸露了,相信你一定吃过 NullPointerException 的苦头!

http://www.ds6.com.cn/news/120171.html

相关文章:

  • 如和建立网站最新的全国疫情数据
  • 部队网站建设方案互联网广告是做什么的
  • 城建设委官方网站广州seo工资
  • 论述网站开发建设的一般流程关键词优化是什么意思?
  • 小制作小发明做法视频新手如何学seo
  • 房地产网站策划今日油价92汽油价格调整最新消息
  • 温州做网站seoseo网站搭建是什么
  • 建材网站开发百度推广关键词和创意
  • 网站开发开发需求文档模板百度一下官方网页版
  • 做图书网站赚钱么杭州百度整站优化服务
  • 企业标准型手机网站关键词优化快速
  • 南昌做公司网站哪家好seo数据
  • 做网站费用需要分摊吗成人教育培训机构排名
  • 旅行网站开发背景青岛关键词排名系统
  • wordpress主题 mnews优化大师是什么软件
  • 做网站好的网站建设公司全球搜怎么样
  • 网站域名变更后怎样操作国际新闻头条今日要闻
  • 做网站app优惠活动的武汉seo群
  • 政府网站cms百度推广如何办理
  • 成都网站建设服务功能成都seo论坛
  • s上海网站建设预测2025年网络营销的发展
  • 昆山网站建设官网引擎网站
  • 武汉光谷网站建设优化大师哪个好
  • 有哪些新手做外链的网站深圳网络推广seo软件
  • 网站建设排序题app搜索优化
  • 百度抓取不到网站常用的网络推广手段有哪些
  • 做调查网站赚钱seo免费优化网站
  • 园区 网站建设方案全网整合营销
  • 金馆长做图网站福州短视频seo公司
  • 北京住房和经济建设发展委员会网站百度提交网站