字符串與NUll的拼接問題


今天做項目,瀏覽器向后台傳值的時候,碰到一個問題,聲明變量的時候為null時,首次加載會報錯。但是初始化一次后,就正常傳值了,摸索了半天,終於找到問題所在。在此記錄一下,謹記。

現在說說情況,我在JSP頁面聲明了三個搜索條件的全局變量為null,首次進入頁面的時候,三個變量為nuii,點搜索按鈕后進行賦值,然后打印按鈕可以調用三個全局變量。不點擊搜索時,全局變量為null,打印就報錯了,剛開始不知道怎么回事,一路追蹤下來,發現傳進mapper.xml文件的值是null。注意:傳進來的是"null"字符串,不是null。於是我又返回JSP頁面查找問題,發現這個傳值我是寫的GET請求,拼接上去的參數。試着寫了一個demo,

String str1=null;
String str2 ="";
String str=str1+str2;
System.out.println(str2.length());

 輸出結果為4,這樣大家都懂了吧,居然把null拼接成了一個字符串。

看了一下源碼:

拼接時,如果為null就認為拼接成"null"。比較有意思。Java為什么這樣做不是太清楚,反正先記下了。歡迎大神指教一下。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM