gpt4 book ai didi

generics - 不满意 : inferred type T? 不是 Any 的子类型

转载 作者:行者123 更新时间:2023-12-02 12:00:03 24 4
gpt4 key购买 nike

为了映射结果,我实现了密封的泛型类:

public sealed class ResultMapper<out T : Any> {
public class Ok<out T : Any>(public val value: T,
override val response: Response) : Result<T>(), ResponseResult {
override fun toString(): String = "Result.Ok{value=$value, response=$response}"
}
}

public interface ResponseResult {
val response: Response
}

现在我想这个类应该按预期工作如下行为:
 ResultMapper.Ok(body,raw)

private class Body<T>() {
onResponse(response: Response, raw: Raw) {
ResultMapper.Ok(response.body(),response.raw()) --> It returned an exception
}
}

Constructor Ok is not satisfied: inferred type T? is not subtype of Any

最佳答案

类(class)Body有一个泛型类型参数 T没有任何限制,即就像定义 T: Any?Ok的类型参数限制为 T: Any .你应该调整Body也不允许可空类型:

class Body<T: Any>

或者,删除其他类中的上限。

关于generics - 不满意 : inferred type T? 不是 Any 的子类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48921447/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com