最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

java StringBuilder和StringBuffer類(lèi)的使用

2022-07-12 18:22 作者:虛云幻仙  | 我要投稿

/**
* StringBuilder和StringBuffer
* StringBuilder可變字符序列 不做線程同步檢查 效率高 常用
* StringBuffer可變字符序列 做線程同步檢查 效率低
* StringBuilder和StringBuffer的方法用法相同
*/

public class TestString2 {
? ?public static void main(String[] args) {
? ? ? ?StringBuilder s1 = new StringBuilder("asd");
? ? ? ?//寫(xiě)成StringBuilder s1 = "asd"會(huì)報(bào)錯(cuò) "asd"是String類(lèi) StringBuilder和StringBuffer都不可以用""字符串直接賦值
? ? ? ?//new StringBuilder(String str) 輸入的asd是String類(lèi)

? ? ? ?StringBuffer s2 = new StringBuffer();
? ? ? ?//無(wú)參 返回空字符串"" new對(duì)象的value為長(zhǎng)度16的char[]數(shù)組
? ? ? ?s2.append(s1);
? ? ? ?System.out.println(s2+"的結(jié)果為asd");
? ? ? ?//在原始字符串的結(jié)尾append附加實(shí)參字符串 返回this本身 不會(huì)額外new新的字符串返回
? ? ? ?s2.append(s1).append("a").append(s1);
? ? ? ?System.out.println(s2+"的結(jié)果為asdasdaasd");
? ? ? ?//因?yàn)?append()會(huì)返回this 所以 s2.append(s1)返回變長(zhǎng)的s2后面再接.append("a")返回變長(zhǎng)的s2再接.append(s1)依然返回this對(duì)象本身
? ? ? ?// 后面還可以.方法名()調(diào)用StringBuffer的所有方法

? ? ? ?s2.delete(1,3).delete(0,1);
? ? ? ?System.out.println(s2+"的結(jié)果為asdaasd");
? ? ? ?//.delete(start,end)刪除index從start至end-1位置的字符 同樣返回this后面可以繼續(xù).方法名()
? ? ? ?s2.deleteCharAt(1).deleteCharAt(0);
? ? ? ?System.out.println(s2+"的結(jié)果為daasd");
? ? ? ?//.deleteCharAt(index)刪除索引位的字符 返回this
? ? ? ?s2.insert(0,s1).insert(1,1);
? ? ? ?System.out.println(s2+"的結(jié)果為a1sddaasd");
? ? ? ?//.insert()在index位插入字符 index位原來(lái)的字符及后面的字符往后移位 返回this
? ? ? ?System.out.println(s2.reverse()+"的結(jié)果為dsaadds1a");
? ? ? ?//.reverse()將字符串反轉(zhuǎn) 返回this

? ? ? ?String str1 = "";
? ? ? ?long memory1Start = Runtime.getRuntime().freeMemory();
? ? ? ?//獲得JVM虛擬機(jī)可用的系統(tǒng)剩余內(nèi)存空間 Runtime.getRuntime()返回new Runtime對(duì)象 .freeMemory()可用內(nèi)存 返回值類(lèi)型為long
? ? ? ?long time1Start = System.currentTimeMillis();
? ? ? ?//current當(dāng)前的 millisecond毫秒 獲得當(dāng)前時(shí)間 單位毫秒 值為當(dāng)前時(shí)間減去1970-01-01 0:00 返回值類(lèi)型為long
? ? ? ?for (int i =0;i<5000;i++){
? ? ? ? ? ?str1 = str1+i;
? ? ? ? ? ?//拼接i new一個(gè)新的字符串賦值給str1 循環(huán)5000次即new5000個(gè)字符串對(duì)象
? ? ? ?}
? ? ? ?long memory1End = Runtime.getRuntime().freeMemory();
? ? ? ?long time1End = System.currentTimeMillis();
? ? ? ?System.out.println(memory1Start-memory1End+"占用內(nèi)存38606648");
? ? ? ?System.out.println(time1End-time1Start+"用時(shí)79");

? ? ? ?StringBuilder str2 = new StringBuilder();
? ? ? ?//使用StringBuilder拼接字符串
? ? ? ?long memory2Start = Runtime.getRuntime().freeMemory();
? ? ? ?long time2Start = System.currentTimeMillis();
? ? ? ?for (int i = 0; i<5000;i++){
? ? ? ? ? ?str2.append(i);
? ? ? ? ? ?//將int加入字符串末尾 返回this 不產(chǎn)生新的字符串對(duì)象
? ? ? ?}
? ? ? ?long memory2End = Runtime.getRuntime().freeMemory();
? ? ? ?long time2End = System.currentTimeMillis();
? ? ? ?System.out.println(memory2Start - memory2End+"占用內(nèi)存0");
? ? ? ?System.out.println(time2End-time2Start+"用時(shí)0");
? ? ? ?//大量拼接字符串操作使用StringBuilder
? ?}
}

java StringBuilder和StringBuffer類(lèi)的使用的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
永胜县| 万盛区| 察隅县| 阳高县| 栾城县| 故城县| 凤翔县| 钦州市| 禹州市| 光泽县| 临沭县| 沧州市| 墨竹工卡县| 黑龙江省| 崇礼县| 察隅县| 阿荣旗| 浪卡子县| 深泽县| 罗平县| 林口县| 玉溪市| 安西县| 庆云县| 屏东县| 新余市| 南华县| 普兰店市| 措勤县| 葫芦岛市| 平远县| 新竹县| 哈尔滨市| 德格县| 平乡县| 武穴市| 江川县| 台东县| 包头市| 白朗县| 京山县|