Nar*_*ari 6 java generics android kotlin rx-java2
我有一个服务调用,它返回一个 JSON 响应,然后通过数据管理器传递该响应,如果服务成功,则该数据管理器会转换数据;如果调用失败,则创建一个错误正文。
数据管理器是用 kotlin 编写的,我感兴趣的特定代码行是这样的
val mutableList = mutableListOf<Address>()
return Result.error(errorTransformation(serviceErrors, mutableList))
Run Code Online (Sandbox Code Playgroud)
我的 errorTransformation 类基本上是一个 Exception 调用,这是用 java.io.ErrorTransformation 编写的。异常类的构造函数是
ExceptionClass(ServiceErrors serviceError ,List<Address> address){
// initiialize fields here
}
Run Code Online (Sandbox Code Playgroud)
现在,当我尝试初始化异常类时,它说找到了适当的构造函数,并且向我显示了使用语法生成异常类的建议
ExceptionClass(ServiceErrors serviceError ,List<? extends Address> address){
// initiialize fields here
}
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?我只想要List<Address>,不想要List<? extends Address>。
隐式使用而不是是kotlin特定的行为。您可以使用注释强制kotlin准确生成您需要的内容List<? extends Address>List<Address>@JvmSuppressWildcards
val mutableList = mutableListOf<@JvmSuppressWildcards Address>()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
448 次 |
| 最近记录: |