有什么两个byte[]类型的对象进行比较有比较快的是方法么?我这样做:
for (int i=0; i<buffSz; i++) {
byte b1 = buff1[i];
byte b2 = buff2[i];
if (b1 != b2)
return false;
}看了一下ByteBuffer类的equals方法实现,好像大致也是一样,系统有没有提供高速(native)的方法?望达人指点,谢谢!
for (int i=0; i<buffSz; i++) {
byte b1 = buff1[i];
byte b2 = buff2[i];
if (b1 != b2)
return false;
}看了一下ByteBuffer类的equals方法实现,好像大致也是一样,系统有没有提供高速(native)的方法?望达人指点,谢谢!
楼主【alphax】截止到2008-06-30 20:05:57的历史汇总数据(不包括此帖):
发帖数:19 发帖分:870
结贴数:19 结贴分:870
未结数:0 未结分:0
结贴率:100.00% 结分率:100.00%
敬礼!
java.util.Arrays.equals(bArr1, bArr2);
to bao110908:
也不能这样说,c语言的实现是有可能用汇编指令的,我记得汇编有比较串的指令,像比较字节数组这样的系统函数都是用汇编实现的。今天作一个inflater/deflater的测试,先从25M的磁盘文件加载到内存,然后压缩再解压,然后比较内存结果和磁盘文件是否相同,结果下了我一跳,整个过程足足用了1分多钟。我的机器也是不错的机器。目前也不知道是不是我代码的问题。好了,先谢谢各位,明天再揭帖。