我有一个服务调用,该服务返回一个JSON响应,然后通过数据管理器传递该数据管理器,如果服务成功,该数据管理器将转换数据;如果服务失败,则创建一个错误正文。
数据管理器是用kotlin编写的, 我感兴趣的代码是这个
val mutableList = mutableListOf<Address>()
return Result.error(errorTransformation(serviceErrors, mutableList))
我的errorTransformation类基本上是一个Exception调用,它是用Java编写的。异常类的构造函数是
ExceptionClass(ServiceErrors serviceError ,List<Address> address){
// initiialize fields here
}
现在,当我尝试初始化异常类时,它说找到了合适的构造函数,并向我显示了使用语法生成一个的建议
ExceptionClass(ServiceErrors serviceError ,List<? extends Address> address){
// initiialize fields here
}
为什么会这样?我只想要List<Address>
,而不想要List<? extends Address>
。
答案 0 :(得分:0)
kotlin 特定行为是隐式使用List<? extends Address>
而不是List<Address>
。您可以使用@JvmSuppressWildcards
注释强制 kotlin 完全生成所需的内容
val mutableList = mutableListOf<@JvmSuppressWildcards Address>()