2014-03-19 39 views
-3

JAVA中的字符串的含義是什麼?什麼是String類中的intern()方法?我最近碰到一個代碼,其中JAVA中的字符串的含義

"test" == "test" //output- true 

輸出的參數是字符串字面值被實現的事實。

+0

https://weblogs.java.net/blog/enicholas/archive/2006/06/all_about_inter.html – Christian

回答

1

http://docs.oracle.com/javase/6/docs/api/java/lang/String.html#intern%28%29

兩者返回字符串對象的規範表示。

最初爲空的字符串池由 類String私人維護。

當調用實習方法時,如果池已包含等於(Object) 方法所確定的與此String對象相等的 字符串,則返回池中的字符串。否則,此 字符串對象將被添加到池中,並返回對此字符串 對象的引用。

因此,對於任意兩個字符串s和t,當且僅當s.equals(t)爲真時,s.intern()== t.intern() 才爲真。

作爲上述表明,可以使用此方法來使兩個字符串是在內容相同,但seperately創建的,僅被暫時存儲在字符串池,因此==運算符返回true