Re: [問題] 請問如何有效率的將字串首字改大寫?
※ 引述《archerlin ()》之銘言:
: 恩 感恩 採用CharArray 程式繼續往下寫囉...
: 會問這基本的正是因為我JSP網頁大約有50~60萬左右個字串要即時這樣改
: 想問問看速度快點的寫法
: 能省一點時間算一點,user才不會等太久 (我那支撈SQL就要超久了,能省則省XD)
: 我也順手簡測了一下 各跑50萬次
: 我的方法1最爛 大約要1s
: 我的方法2 大約要280ms
: StringBuilder 大約要200ms左右 (應該是省space)
: CharArray 大約要70ms左右
: 果然小地方運算還是用愈primitive type愈快阿...用太多加工的方法只是愈慢 XD
要是你真的有這樣的用法... 可以試用這個:
tmp = "atestingstring";
char[] charAry2 = new char[20];
for (int i=0; i<600000; i++) {
int size = tmp.length();
tmp.getChars(0, size, charAry2, 0);
charAry2[0] = Character.toUpperCase(charAry2[0]);
tmp2 = String.valueOf(charAry2, 0, size);
}
charAry2 是一個夠大,用作 buffer 的東西,所有這個換大小寫的工作都用它...
於是系統不需要每一次都先找一個空間來做 toCharArray() ....
是會有快一丁丁丁丁點啦....
(重覆 60 萬次計算: Version 1 是 78~94ms, Version 2 是 63~78ms)
不過好像會令到 coding 變得有點亂 XD 完全是為了效能犧牲了維護 :P
而且 charAry2 的長度設定有點微妙,必需夠大而不能過大 XDrz
--
很多人以為 所以我要 其實我是個快
我是大學生 告訴大家 三十歲的怪叔叔
● ●/ ︿ ︿
/勁\ <勁 ●
ㄨ /\ ㄨ
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 147.8.130.225
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 9 篇):