Matcher
我需要一个复杂的byte[]
。由于argThat
返回Byte[]
,因此下面的代码无法编译。有没有办法为基本类型数组编写专用的Matcher
?
verify(communicator).post(Matchers.argThat(new ArgumentMatcher<Byte[]>() {
@Override
public boolean matches(Object argument) {
// do complex investigation of byte array
return false;
}
}));
答案 0 :(得分:1)
你真的可以在这里使用new ArgumentMatcher<byte[]> { ... }
:
verify(communicator).post(Matchers.argThat(new ArgumentMatcher<byte[]>() {
@Override
public boolean matches(Object argument) {
// do complex investigation of byte array
return false;
}
}));
您所指的答案是说byte[]
不是T[]
的有效替代品(因为T[]
假设Object[]
,byte[]
不是T[]
,但在您的情况下,不涉及byte[]
,而Object
是T
的子类,是简单{{1}}的有效替代。