作者etrexetrex (moonet)
看板java
标题[J2SE] byte阵列转字串的速度问题
时间Fri May 16 19:23:45 2008
我想要把一个byte阵列转成16进位表示的字串加上空白
这个byte阵列的来源是档案
最简单的做法是:
for回圈跑过byte阵列
字串 += 转16进位(byte阵列[i]) + " ";
由於String本身是不能动态增加字元的
因此当String越长的时候,作+=消耗的资源很大
(目前猜想是大量的记忆体配置和字串拷贝在消耗资源)
想请问除了分段处理byte阵列之外
是否有内建的函数或是透过内建的方法能够消耗较少的资源得到字串
主要是阵列转字串的问题
注:分段处理是指先把原阵列切割为数个小阵列後分别转为字串再相加
所以也有可能是递回的型态
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.120.112.38
1F:推 pico2k:try StringBuffer 05/16 19:42
2F:推 tkcn:1.5 以後请改用 StringBuilder 05/16 21:24
3F:推 H45:StringBuffer 与 StringBuilder 其中一个是 thread safe. 05/17 23:08