一个字符串为空的问题 判断一个字符串是否为空,你应该首先判断是不是空引用(null),然后再判断length如果用str=="",你首先得创建一个临时的空字符串,效率上比用length差很多,特别是在进行大量判空时if(str!=null&&str.length!=0) ..... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 str.length == 0 // 应该为 str.length() 表示长度为0str == null // 表示 str 没有指向任何对象str == "" // 直接用==比较只是比较refference, 一般情况下这个表达式结果永远为false所以可以用前两个, 一定要用第3种的话应该用 str.equals("") 楼上说的对str.length == 0 // 应该为 str.length() 表示长度为0,但是该str在内存中分配了空间!str == null // 表示 str 没有指向任何对象,即在内存中没有空间!str == "" // 表示str里面什么也没有,但是在内存中还是有空间的 一般的判断过程是先判断是否为null,然后判断是否为空串,如果顺序反了可能会引起空指针异常if (str== null || str.length() == 0) { ...................}str.length == 0 和str == "" 都是被实例化了的,str == null 没有 如果str=null, str.length()要抛错,所以一定要先判断是否为null,然后判断是否为空串. str.length() == 0 ——字符串长度是否为0,用来判断是否为空字符串。str == null ——字符串是否已经被实例化,用来判断该对象是不是存在——连字符串都不存在的话,空不空的就没意义了。str == "" ——判断该字符串是否和""这个字符串指向同一个地址——一半一定不是一样的。上面的回答都很正确的说。 求解:得到class文件所处的jar包路径? 找不到集合的get方法 java有的功能不能用啊! 关于杨辉三角的问题 怎么使组件自动填充JPanel JTextPane只能用inserComponent插入component吗,那么如何把component添加到JTextPane的后面? 如何用正则提取字符串? 修改了applet后,再次编译后,用浏览器打开html文件,为什么修改后的不显示呢? 用sun.net.ftp.ftpclient能得到要下载的文件的大小吗? jdbc连接oracle的问题?大家请进 几个面试的题目,求各位兄弟解答。谢谢! 求解两个问题
str == null // 表示 str 没有指向任何对象
str == "" // 直接用==比较只是比较refference, 一般情况下这个表达式结果永远为false所以可以用前两个, 一定要用第3种的话应该用 str.equals("")
str.length == 0 // 应该为 str.length() 表示长度为0,但是该str在内存中分配了空间!
str == null // 表示 str 没有指向任何对象,即在内存中没有空间!
str == "" // 表示str里面什么也没有,但是在内存中还是有空间的
if (str== null || str.length() == 0) {
...................
}
str.length == 0 和str == "" 都是被实例化了的,str == null 没有
所以一定要先判断是否为null,然后判断是否为空串.
str == null ——字符串是否已经被实例化,用来判断该对象是不是存在——连字符串都不存在的话,空不空的就没意义了。
str == "" ——判断该字符串是否和""这个字符串指向同一个地址——一半一定不是一样的。上面的回答都很正确的说。