字符串与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