string與stringBuffer

stringstringBuffer

 

String:是對象不是原始類型.爲不可變對象,一旦被創建,就不能修改它的值.對於已經存在的String對象的修改都是重新創建一個新的對象,然後把新的值保存進去.String final,即不能被繼承.

StringBuffer:是一個可變對象,當對他進行修改的時候不會像String那樣重新建立對象它只能通過構造函數來建立,StringBuffer sb = new StringBuffer();

note:不能通過付值符號對他進行付值

sb = "welcome to here!";//error

對象被建立以後,在內存中就會分配內存空間,並初始保存一個null.StringBuffer中付值的時候可以通過它的append方法.sb.append("hello");

 

使用的條件是什麼

如果在程序中需要對字符串進行頻繁的修改連接操作的話.使用StringBuffer性能會更高

 

 

Stirng s=new String('abcd') 創建了幾個對象?

String s表示聲明瞭一個引用字符串的變量,這個變量存在棧中。new表示在內存中開闢一塊新的空間,至於多大的空間,由後面的具體類型決定。通過new關鍵字生成的對象存在堆中。常量字符串都是在池中,不能算是創建了對象,當然你可以說它是一個String對象(之前已經存在了)。這裏總共創建了兩個對象。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章