Re: [問題] 請問如何有效率的將字串首字改大寫?

看板java作者 (勁過呂布)時間18年前 (2007/06/21 16:49), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串7/9 (看更多)
※ 引述《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
文章代碼(AID): #16UZkP3w (java)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 7 之 9 篇):
文章代碼(AID): #16UZkP3w (java)