Java中String性能優(yōu)化
不用使用String的構(gòu)造函數(shù),可能的話直接使用字符串。
兩個(gè)特例:
1)想把char []轉(zhuǎn)換為一個(gè)String,
2) 使用一個(gè)大的String對(duì)象的substring()方法;
String.equals() 比 String.equalsIgnoreCase()要快;
盡量使用StringBuilder來構(gòu)造一個(gè)String,而不是“+”操作符和String.concat() (除非是一個(gè)表達(dá)式,String s = a + b + c);
StringBuilder是不同步的(not synchronized ),所以要比StringBuffer快;
在String[Buffer|Builder]構(gòu)造函數(shù)中加上容量參數(shù),因?yàn)閯?chuàng)建一個(gè)太小的buffer會(huì)降低性能;
String.length()==0比String.equals("")要快。使用Java 6時(shí),String.isEmpty()更快;
調(diào)用String.toString()是沒有意義的;
由于String是不可變的,所以String的方法中,所有返回修改過的String的都是返回了一個(gè)新的實(shí)例;
String.split(regex)事實(shí)上簡(jiǎn)單的調(diào)用了Pattern.compile(regex).split(this, limit),且每次compile()都會(huì)返回一個(gè)新Pattern。所以如果頻繁調(diào)用split的話,最好創(chuàng)建單個(gè)Pattern實(shí)例并重復(fù)使用來取代split()。
以上就是本文要給大家分享的內(nèi)容了,希望大家能夠喜歡。
請(qǐng)您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!
相關(guān)文章
spring boot 使用Aop通知打印控制器請(qǐng)求報(bào)文和返回報(bào)文問題
這篇文章主要介紹了spring-boot 使用Aop通知打印控制器請(qǐng)求報(bào)文和返回報(bào)文,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04
java商城項(xiàng)目實(shí)戰(zhàn)之購物車功能實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了java商城項(xiàng)目實(shí)戰(zhàn)之購物車功能實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
web.xml詳解_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章給大家詳細(xì)介紹了web.xml的相關(guān)知識(shí),需要的朋友可以參考下2017-07-07

