【发布时间】:2015-01-06 22:58:38
【问题描述】:
所以我有一个列表List<byte[]> 可以说是“fullList”,因此其他一些代码会生成另一个包含一些byte[] partialList 的列表。所以我使用.contain 方法,它总是无法从fullList 中搜索得到的部分列表中的字节[]。这是为什么呢??
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));
【问题讨论】:
-
因为它不在列表中?
-
我知道 byte[] 应该在列表中。我正在生成它们。
-
您使用不同的代码生成两个列表。然后拉出元素并询问它是否在 third 列表中(
leafs)。并提供no关于这些列表中任何内容的信息。 -
抱歉,已重命名。列表包含一些使用 jaxb 解析的 xml 文档的哈希值。
-
除非我弄错了,Java 数组不能正确实现
equals,因此只有当它们是完全相同的对象引用时,才会认为两个byte[]相等。如果这些是散列的,请尝试将这些byte[]编码为Integer或Long。
标签: java list bytearray contains