【发布时间】:2019-08-13 10:19:07
【问题描述】:
我有一个字节数组列表,需要检查这个列表不是否包含新的给定字节数组。如果没有,那么我需要执行一些操作。
现在,我正在尝试这样做:
List<byte[]> listOFByteArrays = getListOfByteArrays();
byte[] newByteArray = getNewByteArray();
if (!listOfByteArrays.contains(newByteArray)){
// do some action
}
这对我不起作用,它无论如何都会在 if 语句中执行 some action。
我做错了什么以及检查它的正确方法是什么?
提前谢谢你。
【问题讨论】:
-
当然可以。。您的列表不包含
newByteArray -
一个数组只等于它自己。所以你的列表不可能包含
newByteArray(除非newByteArray不是一个新的字节数组,而是存储在列表中的数组之一)。您需要遍历列表并比较字节数组的内容:docs.oracle.com/javase/8/docs/api/java/util/… -
@JBNizet 是的,你是对的。我必须比较内容。谢谢!
标签: java arrays list collections byte