Java 列表<;?扩展某物>;生成而不是列表<;某物>;

Java 列表<;?扩展某物>;生成而不是列表<;某物>;,java,android,generics,kotlin,rx-java2,Java,Android,Generics,Kotlin,Rx Java2,我有一个服务调用,它返回一个JSON响应,然后通过一个数据管理器传递该响应,如果服务成功,它将转换数据;如果调用失败,它将创建一个错误体 数据管理器是用kotlin和 我感兴趣的代码是 val mutableList = mutableListOf<Address>() return Result.error(errorTransformation(serviceErrors, mutableList)) val mutableList=mutableListOf() 返回结果.e

我有一个服务调用,它返回一个JSON响应,然后通过一个数据管理器传递该响应,如果服务成功,它将转换数据;如果调用失败,它将创建一个错误体

数据管理器是用kotlin和 我感兴趣的代码是

val mutableList = mutableListOf<Address>()
return Result.error(errorTransformation(serviceErrors, mutableList))
val mutableList=mutableListOf()
返回结果.error(errorTransformation(serviceErrors,mutableList))
我的errorTransformation类基本上是一个异常调用,这是用java编写的。异常类的构造函数是

ExceptionClass(ServiceErrors serviceError ,List<Address> address){
    // initiialize fields here
}
ExceptionClass(ServiceErrors,列表地址){
//在这里初始化字段
}
现在,当我尝试初始化我的异常类时,它说找到了合适的构造函数,并向我展示了一个使用语法生成一个异常类的建议

ExceptionClass(ServiceErrors serviceError ,List<? extends Address> address){
    // initiialize fields here
}

ExceptionClass(ServiceErrors serviceError,List隐式使用
List只是猜测,这是kotlin特有的行为,但是如果将第一行替换为
val mutableList=ArrayList()
?@BenP.Nope,它不会改变任何东西kotin中的集合在默认情况下是协变的(与Java相反),因此此行为是有效的。您收到的确切消息/警告是什么?请将其粘贴到此处好吗?另外,您使用的kotlin版本是什么?我已尝试使用
@JvmSuppressWildcardsand
,但它不起作用
val mutableList = mutableListOf<@JvmSuppressWildcards Address>()