2016-06-13 70 views
0

據我所知
1)String s =「abc」;在字符串池中創建「abc」和
2)String s = new String(「abc」)。intern();無論池中是否存在「abc」,都會返回字符串池引用。聲明String s = new String(「abc」)。intern(); over String s =「abc」(反之亦然)

我的問題是

什麼是1比2的優勢))(反之亦然),因爲這兩種收益從池中參考。 哪種語法是首選?

2)不管池中存在「abc」,對象最初會在堆中創建,然後丟失? (資格GC)

回答

3

這是最簡單和最快的

String s = "abc"; 

使用new String("abc").intern()不僅慢,但更加複雜和混亂。

總之,不要讓代碼比需要更復雜。

相關問題