You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kotlin带型变参数的数据类如何设置泛型R上界为Throwable

你只需要为泛型参数R添加上界约束即可,正确声明代码如下:

data class MyClass<T, out R : Throwable>(
    val data: T? = null,
    val error: R? = null
)

说明

  • Kotlin 中使用:为泛型参数指定上界,约束该泛型的所有实际传入类型都必须是上界类的子类或实现类
  • 修改后error字段只能接收Throwable子类的实例或者空值,完全符合限制error为异常类型的需求
  • 原有的协变标识out不需要调整,上界约束和协变声明可以共存

内容的提问来源于stack exchange,提问作者Andrew Kolubov

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 02:18:03