现在有一个byte[]数组长度已经90594
代码如下:
[code="java"]
public static String Bytes2HexString(byte[] b) {
String ret = "";
System.out.println(currentTime());
String hex = "";
for (int i = 0; i < b.length; i++) {
hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
//ret.append(hex.toUpperCase());
ret += hex.toUpperCase();
}
System.out.println(currentTime());
return ret;
}
[/code]
执行后:
2009-08-20 16:09:30
2009-08-20 16:10:13
竟然用了这么长时间。。
现在只能想到用把byte[]分成N个小的byte[]用多线程去转,不知道还没有更优的算法。。
[b]问题补充:[/b]
这个问题已经解决,
还是小弟对java不怎么熟悉啊。
[code="java"]
public static String Bytes2HexString(byte[] b) {
StringBuffer ret = "";
System.out.println(currentTime());
String hex = "";
for (int i = 0; i < b.length; i++) {
hex = Integer.toHexString(b[i] & 0xFF);
if (hex.length() == 1) {
hex = '0' + hex;
}
ret.append(hex.toUpperCase());
//ret += hex.toUpperCase();
}
System.out.println(currentTime());
return ret.toString();
}
[/code]
答案还是PHPRPC群里朋友给出的,,感谢