測試可變字串行和不可變字串行使用的陷阱 s

2021-09-26 03:09:54 字數 904 閱讀 4114

一.使用string進行字串拼接

string str1 = "";

long num1 = runtime.getruntime().freememory();//獲取系統剩餘記憶體空間

long num2 = system.currenttimemillis();//獲取系統當前時間

for(int i=0;i<5000;i++)

long num3 = runtime.getruntime().freememory();//獲取系統剩餘記憶體空間

long num4 = system.currenttimemillis();//獲取系統當前時間

system.out.println("string占用記憶體"+(num1-num3));

system.out.println("string占用時間"+(num4-num2));

2.使用stringbuilder進行字串拼接

stringbuilder str2 =new stringbuilder("") ;

long num1_ = runtime.getruntime().freememory();

long num2_ = system.currenttimemillis();

for(int i=0;i<5000;i++)

long num3_ = runtime.getruntime().freememory();

long num4_ = system.currenttimemillis();

system.out.println("string占用記憶體"+(num1_-num3_));

system.out.println("string占用時間"+(num4_-num2_));

字串 可變字串與不可變字串

一 nsstring 是不可變字串,所有它所有產生其他字串方法都是生成乙個新的字串,而不會改變原來字串 第一種 字面量 它是常量字串,儲存常量區 nsstring str abc 第二種是通過 快捷的構造方法 nsstring stringwithformat 第三種方式 初始化方法 nsstrin...

java 不可變和可變字串行使用陷阱

string使用的陷阱 string一經初始化後,就不會再改變其內容了。對string字串的操作實際上是對其副本 原始拷貝 的操作,原來的字串一點都沒有改變。比如 string s a 建立了乙個字串 s s b 實際上原來的 a 字串物件已經丟棄了,現在又產生了另乙個字串s b 也就是 ab 如果...

OC學習 四 不可變字串類和可變字串類

今天系統性的學習了oc中的nsstring 字串 類以及它的子類nsmutablestring 可變字串 類,下面舉例介紹下裡面的一部分比較常用方法 一 nsstring類的部分方法,nsstring 是不可變字串,所以方法呼叫時並不是對原字串進行修改,而是先建立乙個原字串的副本,然後對副本內容進行...