不用使用String的構(gòu)造函數(shù),可能的話直接使用字符串。
兩個(gè)特例:
1)想把char []轉(zhuǎn)換為一個(gè)String,
2) 使用一個(gè)大的String對象的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í)上簡單的調(diào)用了Pattern.compile(regex).split(this, limit),且每次compile()都會(huì)返回一個(gè)新Pattern。所以如果頻繁調(diào)用split的話,最好創(chuàng)建單個(gè)Pattern實(shí)例并重復(fù)使用來取代split()。
以上就是本文要給大家分享的內(nèi)容了,希望大家能夠喜歡。
請您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!