我正在模拟中创建一个自定义参数匹配器。使用这个例子:
class IsListOfTwoElements extends ArgumentMatcher<List> {
public boolean matches(Object list) {
return ((List) list).size() == 2;
}
}
这让我想知道为什么参数的类型list
是Object
而不是List
. 传递给 match 函数的参数可以是别的吗?如果是这样,示例是否不应该检查参数的类型并false
在不是时返回List
?
稍微改述一下这个问题:mockito 是否承诺只将正确的类型传递给matches
函数?如果是这样,为什么不使用泛型类型。如果不是,如果传递了错误的类型,为什么示例不返回 false?