java包含字节数组列表的方法
所以我有一个列表List<byte[]>
让我们说“fullList”,其中一些其他代码段生成另一个包含一些byte[]
partialList的列表。所以我用。contain方法在从完整列表中搜索partialList中的get byte[]时总是失败。这是为什么
List<byte[]> fullList = {some byte[] arrays added here..}
List<byte[]> partialList = {some byte[] arrays added here..}
byte[] toCheck = partialList.get(0);
System.out.println("The check is "+ fullList.contains(tocheck));
# 1 楼答案
问题是Java数组do not implement ^{} properly ,即两个数组只有在它们的内存地址相同,即它们是完全相同的对象引用时,才被认为是“相等的”
为了解决这个问题,您可以将这些} 实现您自己的contains方法
byte[]
编码为数字并使用List<Integer>
(或Long
),或者使用^{