[問題] 效能上的問題

看板java作者 (飄落的櫻花)時間16年前 (2008/05/09 21:47), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串1/4 (看更多)
小弟寫了個固定長度用的函式 這個函式是如果字串長度低於指定長度就補空白 private String getLayoutString(String temp,int spaceNum) { int stringLength=temp.length(); if(stringLength>spaceNum) { //: 字串長度大於指定長度直接回傳 return temp; } else { //: 字串長度小於指定長度 補空白 int diffChat=spaceNum-stringLength; StringBuffer formatString=new StringBuffer(); formatString.append(temp); for(int i=0;i<diffChat;i++) { formatString.append(" "); } return formatString.toString(); } } 發現寫的這個函式相當的吃資源 原本為了排版方便而作的 但是多了這個效能卻大大下降 雖然知道因為裡面又一個for 效能本來就會大為降低的 我原本寫的程式是ArrayList 去存一連串的資訊 後來為了效能跟記憶體的節省改用StringBuffer 而後效能跟的確大幅改善 記憶體也節省很多 但是加了上面的排版用程式結果效能還比原先差 那也就算了 記憶體使用量比沒加那個函式還多兩倍 還高過原本用arraylist的使用量 請問這是為什麼? 是因為memory leak的關係嗎?= = 這個問題有沒有改善的方法 或是java有沒有提供其他實作方式可以達到我那個函式的效果? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.167.177.161

05/09 23:57, , 1F
1.5不是就有printf()了 我不知道那有沒有缺點啦 XD
05/09 23:57, 1F
文章代碼(AID): #1895NXin (java)
文章代碼(AID): #1895NXin (java)