在单元测试中,我有这样的代码:
@Mock
private AbstractCacheImpl<?> cache;
@Before
public void setup() {
xxxx.setCacheImplementations(Arrays.asList(cache)); // error
}
在“错误”行上,Eclipse(和命令行javac)说:
The method setCacheImplementations(List<AbstractCacheImpl<?>>) in the type xxxx is
not applicable for the arguments (List<Object>)
这是方法定义:
void setCacheImplementations(List<AbstractCacheImpl<?>> cacheImplementations) { this.cacheImplementations = cacheImplementations; }
我也看到了类似的问题,并且尝试了这些解决方案的变体,但是还没有找到解决方案。
我尝试使用“ Arrays.<stuff>asList(...)
”的变体,但这些变体甚至没有任何作用。
我甚至尝试将“ asList()”的整个返回值转换为预期的返回类型,但这也不起作用。它只是说我不能将返回值转换为该类型。