关于Java泛型的一个小Tips

高洛峰
高洛峰 原创
2016-11-16 10:12:01 1345浏览

关于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);
}


声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。