程序員、軟件開發、碼農、計算機
段子吐槽
java開發經理:誰代碼寫這樣了變量.equals(常量)
保證打了他懷疑人生
程序汪:是我
開個玩笑,但低級問題導致的生產缺陷還真不少,目測會持續上演下圖悲劇
經典低級問題
我來簡單總結下
字符比較
變量.equals(常量) ,請不要這樣寫
如果requestStr 入參是null就直接空指指異常了
正確是用StringUtils工具類來比較
集合遍歷
集合遍歷前忘記判空
下面代碼如果入參names是null情況,也悲劇了空指針
List names= Lists.newArrayList("程序汪","毛毛","莉莉");
for(String n:names){
//TODO 業務邏輯
}
正確方式 用spring的集合工具判空在繼續操作
if(!org.springframework.util.
CollectionUtils.isEmpty(names)){
System.out.println(StringUtils.join(names.toArray(),","));
}
空字符和null不敏感
很多業務空字符和null就是2種場景
碼農有時記住防null但忘記了空字符情況
很貼心的工具類
org.apache.commons.lang.StringUtils
字符拼接
字符拼接忘記防null
關鍵這種null場景不會直接異常,前端頁面就會出現null字符很奇怪,防空下就搞定
特別注意mysql數據庫表字段設置為空時,
String requestStr="程序汪";
requestStr=null;
System.out.println(requestStr+"發工作啦");
輸出結果:null發工作啦