作者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
推 pico2k:try StringBuffer 05/16 19:42
推 tkcn:1.5 以後請改用 StringBuilder 05/16 21:24
推 H45:StringBuffer 與 StringBuilder 其中一個是 thread safe. 05/17 23:08