new String(「ab「)到底創建了幾個對象?new String(「a「) + new String(「b「)呢?

1、執行 String str = new String(「ab」);後生成的字節碼 結論:單純執行new String(「XXX」),底層會創建兩個對象。一個是在堆中創建XXX的對象,另一個是在堆中字符串常量池中創建。這兩個對象的內容都是一樣的,但是地址是不相同的。 2、升級:執行 String str = new String(「a」) + new String(「b」);後生成的字節碼 總結
相關文章
相關標籤/搜索