作者del680202 (飘落的樱花)
看板java
标题[问题] 效能上的问题
时间Fri May 9 21:47:09 2008
小弟写了个固定长度用的函式
这个函式是如果字串长度低於指定长度就补空白
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
1F:推 MOONRAKER:1.5不是就有printf()了 我不知道那有没有缺点啦 XD 05/09 23:57