【发布时间】:2021-06-05 02:08:46
【问题描述】:
我的界面是这样的:
interface MyObject {
val id: String
val media: MutableList<Uri>
}
我想实现它,其中媒体列表由MutableList<String> 而不是MutableList<Uri> 支持(我需要的原因在我的长问题here 中有解释)。简单的方法是:
data class MyObjectPojo(
override val id: String,
val mediaStringList: MutableList<String>
) : Tale {
override val media: MutableList<Uri>
get() = mediaStringList.map { Uri.parse(it) } as MutableList<Uri>
}
但这显然效率低下(例如,为了仅获取第一个元素,将对整个列表运行 map 操作)。我想到了get() = object : MutableList<Uri> {...},但我意识到我必须实现超过 20 个成员......有没有更好的方法来实现这一点?
【问题讨论】:
标签: list kotlin inheritance interface uri