Java實現(xiàn)簡單字符生成器代碼例子
創(chuàng)建成功的字符串對象,其長度是固定的,內(nèi)容是不能被修改和編輯。雖然使用"+"可以達到增加新字符或字符串的目的,但"+"會產(chǎn)生一個新的String實例,會在內(nèi)存中創(chuàng)建新的字符串對象。如果重復(fù)地對字符串進行修改,將極大地增加系統(tǒng)開銷。J2SE自5.0增加了可變的字符序列String-Builder類,大大地提高了頻繁增加字符串的效率。下面看個簡單的例子。
public class Jerque { /** * 比較一般情況下的字符串生成器,和String-Builder所耗的時間 */ public static void main(String[] args) { // TODO Auto-generated method stub String str = ""; long startTime1 = System.currentTimeMillis(); for (int i =0; i<10000; i++) { str = str +i; } long endTime1 = System.currentTimeMillis(); long time1 = endTime1 - startTime1; System.out.println("字符串1消耗時間:"+ time1); StringBuilder builder = new StringBuilder(""); long startTime2 = System.currentTimeMillis(); for (int i=0;i<10000;i++) { builder.append(i); } long endTime2 = System.currentTimeMillis(); long time2 = endTime2 - startTime2; System.out.println("字符串2消耗時間:" + time2); } }
字符串1消耗時間:1210
字符串2消耗時間:3
總結(jié):
1. 用JAVA自帶的字符序列String-Builder類,無疑大大提高了效率。
2. 此類常用的方法如下:
a. append(content)方法
b. insert(int offset,arg)方法
StringBuilder b = new StringBuilder("Hello");
b.insert(5,"World!");
System.out.println(b.tostring());
c. delete(int start,int end)方法
StringBuilder d = new StringBuilder("StringBuilder");
d.delete(5,10);
System.out.println("d.toString()");
相關(guān)文章
Java的JDBC編程使用之連接Mysql數(shù)據(jù)庫
這篇文章主要給大家介紹了關(guān)于Java的JDBC編程使用之連接Mysql數(shù)據(jù)庫的相關(guān)資料,JDBC是一種用于執(zhí)行SQL語句的Java?API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問,需要的朋友可以參考下2023-12-12SpringBoot yaml語法與數(shù)據(jù)讀取操作詳解
YAML 是 “YAML Ain’t Markup Language”(YAML 不是一種標記語言)的遞歸縮寫。在開發(fā)的這種語言時,YAML 的意思其實是:“Yet Another Markup Language”(仍是一種標記語言),本文給大家介紹的非常詳細,需要的朋友可以參考下2022-07-07Java基于外觀模式實現(xiàn)美食天下食譜功能實例詳解
這篇文章主要介紹了Java基于外觀模式實現(xiàn)美食天下食譜功能,較為詳細的講述了外觀模式的概念、原理并結(jié)合實例形似詳細分析了Java基于外觀模式實現(xiàn)美食天下食譜功能的具體操作步驟與相關(guān)注意事項,需要的朋友可以參考下2018-05-05Java數(shù)據(jù)結(jié)構(gòu)及算法實例:插入排序 Insertion Sort
這篇文章主要介紹了Java數(shù)據(jù)結(jié)構(gòu)及算法實例:插入排序 Insertion Sort,本文直接給出實例代碼,代碼中包含詳細注釋,需要的朋友可以參考下2015-06-06詳解Elasticsearch如何實現(xiàn)簡單的腳本排序
Elasticsearch?是位于?Elastic?Stack?核心的分布式搜索和分析引擎,可以為所有類型的數(shù)據(jù)提供近乎實時的搜索和分析。本文主要介紹了Elasticsearch如何實現(xiàn)簡單的腳本排序,感興趣的可以了解一下2023-01-01SpringBoot如何監(jiān)控Redis中某個Key的變化(自定義監(jiān)聽器)
這篇文章主要介紹了SpringBoot如何監(jiān)控Redis中某個Key的變化(自定義監(jiān)聽器),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09IDEA SpringBoot項目配置熱更新的步驟詳解(無需每次手動重啟服務(wù)器)
這篇文章主要介紹了IDEA SpringBoot項目配置熱更新的步驟,無需每次手動重啟服務(wù)器,本文通過圖文實例代碼相結(jié)合給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-04-04