一.
1.在工作中,他們常用來判斷傳過來的參數(shù)是否為空啊等等常用的方法是StringUtils.isBlank(),而且很重要的一點是在一個Controller層的方法中,比如要傳參數(shù),但是其實前端不傳也是可以進(jìn)來的.不傳就好像默認(rèn)為null(String類的),基本類型好像也是null(好像說對了),可以測試測試.反正就是前端都可以進(jìn)來.
下面是判斷是否為空的方法:
好像還有個isnotBlank的方法和他剛好是反的,一個判斷是否為空啊,一個判斷是否不為空.可以看看.
二.這是個大坑,一個bug就出現(xiàn)在這了.
String.valueof的坑
大家都知道String.valueof這個方法是用來將int,long等轉(zhuǎn)換成String類型的,這工作中是這么用的,前端傳來參數(shù),你要判斷他是否為空,用第一個說道的方法,但是他只能判斷String類型,所以要將int,long啊轉(zhuǎn)換成String類型進(jìn)行判斷.但問題就出在這了,萬一前端沒傳參數(shù),他就是null,但這個null經(jīng)過String.valueof轉(zhuǎn)換過后,出現(xiàn)了什么神奇的變化,他變成了一個字符串.....,對"null"的一個字符串.........
我靠,有點錯,有可能是我用的是包裝類,包裝類默認(rèn)為null,自己碰到了在試試
上面說的很對,但我突然想到為啥非要轉(zhuǎn)換類型用String.isBlank去判斷,他是int,long類型了,直接==去判斷是不是null就行了么......
還有看看toString方法和上面那個的區(qū)別,即toString不能傳入null,否則會報錯.