当使用Mockito和kotlin时,只允许在类文字的左侧使用类

我使用Android Studio的转换工具来转换现有的Java测试类。

我得到这个错误:

只有类允许在类文字的左侧

这里是使用的测试用例:

Java的

doAnswer(answerVoid( (OnDataListListener<List<BEntity>> myCallback) -> myCallback.onSuccess(mList))).when( mInteractor).performGetBList(any(OnDataListListener.class), anyBoolean()); 

科特林

 doAnswer(answerVoid { listener: OnDataListListener<List<BEntity>> -> listener.onSuccess( emptyList()) }).`when`<DragonInteractor>(mInteractor) .performGetBList(any<OnDataListListener>(OnDataListListener<*>::class.java), anyBoolean()) 

那么在这种情况下如何使用泛型参数? 谢谢。

只要使用OnDataListListener::class.java

在类引用expresison中不需要(而不是允许)尖括号的原因是类引用完全不依赖于泛型,对于类的泛型特化没有不同的类引用。