首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

关于string的疑问,该如何解决

2012-02-21 
关于string的疑问String .trim()String .trim()//trueString .replace( g , G )String .repl

关于string的疑问
"String ".trim()   ==   "String ".trim();//true
"String ".replace( 'g ', 'G ')==   "String ".replace( 'g ', 'G ');//false
"String ".replace( 't ', 't ')   ==   "String ";//true
以上方法应该返回的都是一个新的String对象   ,而==应该比较的是字符串的对象,==号左右两边返回的都是新的字符串对象,怎么会相等呢?

[解决办法]
先看看trim()方法的实现再说话。

[解决办法]
如果此 String 对象表示一个空字符序列,或者此 String 对象表示的字符序列的第一个和最后一个字符的代码都大于 '\u0020 '(空格字符),则返回对此 String 对象的引用。
[解决办法]
JAVA中,两个String是否相等的判断方法是调用String.equals() 不是直接使用 ==

[解决办法]
用 "== "不是不可以,如果是两个对象,两个对象完全相同时可以得到true
最好不要这样用,用equals()
项目中如果很多这样的比较可以考虑重写这个方法
[解决办法]
http://www.javaranch.com/journal/200409/Journal200409.jsp#a1
读完这个你就会明白了

热点排行