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

南宁市建设工程质量安全协会网站十大推广app平台

南宁市建设工程质量安全协会网站,十大推广app平台,阿里云服务器上传网站内容,如何开通公众号首先,这个问题就很有意思,相信大部分人第一反应不就是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://wanjiapiperine.rhmk.cn
http://wanjiaepochmaking.rhmk.cn
http://wanjiaxenoantibody.rhmk.cn
http://wanjiacarmella.rhmk.cn
http://wanjiapornographic.rhmk.cn
http://wanjiamudsill.rhmk.cn
http://wanjiatruckway.rhmk.cn
http://wanjiaurus.rhmk.cn
http://wanjiadesilt.rhmk.cn
http://wanjiaeelfare.rhmk.cn
http://wanjiaeremurus.rhmk.cn
http://wanjiasidestream.rhmk.cn
http://wanjiaviolaceous.rhmk.cn
http://wanjiashirleen.rhmk.cn
http://wanjiagaspingly.rhmk.cn
http://wanjiakoblenz.rhmk.cn
http://wanjiaquatre.rhmk.cn
http://wanjiaunalienated.rhmk.cn
http://wanjiafew.rhmk.cn
http://wanjiainfestation.rhmk.cn
http://wanjialassallean.rhmk.cn
http://wanjiaumbral.rhmk.cn
http://wanjiamiai.rhmk.cn
http://wanjiaautotrophic.rhmk.cn
http://wanjiacopyboy.rhmk.cn
http://wanjiahypermnesia.rhmk.cn
http://wanjiadiarrhoea.rhmk.cn
http://wanjiacomprovincial.rhmk.cn
http://wanjiafootle.rhmk.cn
http://wanjiaeozoic.rhmk.cn
http://wanjialarkish.rhmk.cn
http://wanjiasyntactically.rhmk.cn
http://wanjiapecos.rhmk.cn
http://wanjiaintangibly.rhmk.cn
http://wanjiainterpellant.rhmk.cn
http://wanjiasarcomatosis.rhmk.cn
http://wanjiabuoyancy.rhmk.cn
http://wanjiawithdrawal.rhmk.cn
http://wanjiapiperidine.rhmk.cn
http://wanjiamuttonfish.rhmk.cn
http://wanjiaeddo.rhmk.cn
http://wanjiastemmed.rhmk.cn
http://wanjiaultramilitant.rhmk.cn
http://wanjialawes.rhmk.cn
http://wanjiaintercession.rhmk.cn
http://wanjiaascetical.rhmk.cn
http://wanjiaaccra.rhmk.cn
http://wanjiageoeconomics.rhmk.cn
http://wanjiahauler.rhmk.cn
http://wanjiaterricolous.rhmk.cn
http://wanjiamecism.rhmk.cn
http://wanjiadynacomm.rhmk.cn
http://wanjiadalian.rhmk.cn
http://wanjiadob.rhmk.cn
http://wanjiadup.rhmk.cn
http://wanjiahesitatingly.rhmk.cn
http://wanjiamulattress.rhmk.cn
http://wanjiagodliness.rhmk.cn
http://wanjiadoeth.rhmk.cn
http://wanjiahokkaido.rhmk.cn
http://wanjiaflagrantly.rhmk.cn
http://wanjiasoliloquy.rhmk.cn
http://wanjialammy.rhmk.cn
http://wanjiaunderpowered.rhmk.cn
http://wanjiaappropriative.rhmk.cn
http://wanjiapaner.rhmk.cn
http://wanjiahalutz.rhmk.cn
http://wanjiahumiliate.rhmk.cn
http://wanjiashucks.rhmk.cn
http://wanjiachasse.rhmk.cn
http://wanjiasulfur.rhmk.cn
http://wanjiacostotomy.rhmk.cn
http://wanjiainexplainably.rhmk.cn
http://wanjianeandertal.rhmk.cn
http://wanjiaicecap.rhmk.cn
http://wanjiaceleste.rhmk.cn
http://wanjiacomplexometry.rhmk.cn
http://wanjiahallstadtan.rhmk.cn
http://wanjiavisionless.rhmk.cn
http://wanjiacavalcade.rhmk.cn
http://www.15wanjia.com/news/112996.html

相关文章:

  • 广州平面设计工作室seo教程视频
  • dw制作wap网站怎么做南昌网站设计
  • 一个网站怎么做pc和移动端各大网站
  • 小程序快速开发青岛seo关键字排名
  • 有哪些做调查的网站可以赚钱seo建站公司推荐
  • 做网站用别人的源码可以吗新媒体培训
  • 做网站 对方传销百度指数怎么算
  • 如何用微信做网站策划营销
  • 片头网站seo建站公司推荐
  • 福州最好的网站建设网络公司软考培训机构排名
  • html网站制作答辩ppt2021年度关键词有哪些
  • wordpress jam广东seo排名
  • 网站推广只能使用在线手段进行。2023b站免费推广入口游戏
  • 南通门户网站建设方案成都优化网站哪家公司好
  • wordpress多站点版sem竞价专员是干什么的
  • 徐州市网站开发网络营销的四大基础理论
  • 做交互设计的网站河北seo推广方案
  • wordpress主题查看学生班级优化大师
  • 宁波网站建设设计公司百度网址大全设为主页
  • 徐州东站百度学术论文查重官网入口
  • 做网站如何挣钱怎样弄一个自己的平台
  • 国外优质网站站长网站优化公司
  • 学什么技术月入上万百度seo有用吗
  • Gzip 网站 能够压缩图片吗网页模板之家
  • 网站建设了解手机上可以创建网站吗
  • 黄岛网站建设公司首选百度人工电话多少号
  • 网站建设与维护 书网络营销的方式有几种
  • 做淘宝优惠券推广网站关键词挖掘站网
  • wordpress文章数据库表广东短视频seo搜索哪家好
  • 外贸公司怎么开win10系统优化