Java中String效能最佳化_java

來源:互聯網
上載者:User

不用使用String的建構函式,可能的話直接使用字串。

兩個特例:

1)想把char []轉換為一個String,
2) 使用一個大的String對象的substring()方法;

String.equals() 比 String.equalsIgnoreCase()要快;

盡量使用StringBuilder來構造一個String,而不是“+”操作符和String.concat() (除非是一個運算式,String s = a + b + c);

StringBuilder是不同步的(not synchronized ),所以要比StringBuffer快;

在String[Buffer|Builder]建構函式中加上容量參數,因為建立一個太小的buffer會降低效能;

String.length()==0比String.equals("")要快。使用Java 6時,String.isEmpty()更快;

調用String.toString()是沒有意義的;

由於String是不可變的,所以String的方法中,所有返回修改過的String的都是返回了一個新的執行個體;

String.split(regex)事實上簡單的調用了Pattern.compile(regex).split(this, limit),且每次compile()都會返回一個新Pattern。所以如果頻繁調用split的話,最好建立單個Pattern執行個體並重複使用來取代split()。

以上就是本文要給大家分享的內容了,希望大家能夠喜歡。

請您花一點時間將文章分享給您的朋友或者留下評論。我們將會由衷感謝您的支援!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.