st是字符串的名称,trim()方法用来去掉字符串中的空格。只是不太明白st.trim().equals("")与"".equals(st)的区别,这两个语句都是判断st是否为空,那么前一个跟后一个相比效果有什么不一样呢?盼高手解答
4 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
从对象的角度看,st.trim()产生了一个新的对象,这个新的对象调用了equals("")方法,所以这个表达式一个有三个对象;而"".equals(st)中只有两个对象。
从结果看,如果字符串st不是空,即st由空格组成时,st.trim().equals("")的结果为真,而"".equals(st)的结果为假。
如果字符串st为空,则这两个表达式的结果就是一样的。
隔江千里
TA贡献1906条经验 获得超10个赞
trim()方法去掉一个字符串首尾的空白字符。假设有一个字符串s = " "(3个空格),那么s.trim()后返回的就是""。
但是使用st.trim().equals("")会出现一个问题,当st是传入的参数时有可能出现null值,当然也就没有trim()和equals()方法,这时如果没检验null值则会出现程序错误.
而"".equals(st)比较的时候如果st为null值也可以得出正确的结果,这是它们最大的不同.
- 4 回答
- 0 关注
- 975 浏览
添加回答
举报
0/150
提交
取消