Bet*_*ide 5 java matcher primitive-types mockito
我需要一个复杂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;
}
}));
Run Code Online (Sandbox Code Playgroud)
你真的可以在这里使用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;
}
}));
Run Code Online (Sandbox Code Playgroud)
您所指的答案说,这byte[]不是 的有效替代品T[](因为T[]假设Object[],但byte[]不是),但在您的情况下,没有T[]涉及,并且byte[],作为 的子类Object,是 simple 的有效替代品T。