爲什麼這是false?String.trim()對同一個引用對象返回false
String str1 = new String("Java ");
String str2 = str1;
System.out.println(str1.trim()==str2.trim()); //false
最初str2
被引用str1
對象。所以,與==比較會返回true爲str1==str2
那麼爲什麼這個爲false與.trim()
方法呢?
即使它返回假的文字(沒有新的關鍵字)
String str1 = "Java "; //this is now without new keyword
String str2 = str1;
System.out.println(str1.trim()==str2.trim());
注:我知道如何使用.equals
方法。但是想要知道==
行爲,特別是在.trim()的情況下,以上給出的兩個例子。
你得到了什麼輸出? – iCode
,因爲他們現在不是相同的refrences.Keep字符串是不可變的 – Freak
閱讀http://stackoverflow.com/questions/7311451/difference-between-equals-and-instanceof –