本文主要是介绍Java进阶(二十)解疑答惑之何时字符串才算真正为空?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
解疑答惑之何时字符串才算真正为空?
在一次编码过程中,有一个现象一直困扰着自己,经过后台的不断调试,才发现原来有时候字符串的空非空。测试代码如下:
// medname可为药品名称或药品ID
String medname = request.getString("medname").trim();
logger.info("medname.length():" + medname.length());
logger.info("mednameisNULL:" + (medname == null));
当自己在前台什么都不输入的时候,输出结果如下:
这样自己就感到费解了,命名自己什么都没有输入啊,并且经过trim()【trim():去掉字符串首尾的空格。】方法的操作,按理说应该为空才对。
然后自己想,是不是因为没输入其实代表的是输入的空字符串,而空字符串不同于null。于是自己就写了如下测试语句:
logger.info("mednam:" + (medname == ""));
测试结果如下:
果然印证了自己的想法。其果然是一个空字符串!
以后得注意一下这个问题了,否则会很容易留下BUG的。
有关空字符串与null的区别,详见博文“java 空字符串与null区别”。
这篇关于Java进阶(二十)解疑答惑之何时字符串才算真正为空?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!