关于java泛型的一个小tips
使用argumentcaptor捕捉mock方法中的参数 如下所示
argumentcaptor<list<foo>> foocaptor = argumentcaptor.forclass(list.class);
报错
error:(89, 86) java: incompatible types: org.mockito.argumentcaptor<java.util.list> cannot be converted to org.mockito.argumentcaptor<java.util.list<com.myapp.model.foo>>
解决
使用了更高版本的mockito--mockito-core-2.0.36-beta
代码对比
mockito-core-1.0.19
public static <t> argumentcaptor<t> forclass(class<t> clazz) {
return new argumentcaptor<t>(clazz);
}
mockito-core-2.0.36-beta
public static <u,s extends u> argumentcaptor<u> forclass(class<s> clazz) {
return new argumentcaptor<u>(clazz);
}