【发布时间】:2021-03-12 23:03:22
【问题描述】:
我有两个不同的类:
internal data class ClassB(
@Json(name = "id") val id: String?,
@Json(name = "name") val name: String?,
@Json(name = "url") var contentUrl: String?,
@Json(name = "mediaImageUri") val coverUrl: String?,
@Json(name = "mediaVideoCoverImageUri") val videoCoverUrl: String?
)
internal data class ClassC(
@Json(name = "tileId") val id: String?,
@Json(name = "friendId") val friendId: String?,
@Json(name = "profilePictureUri") var profilePicture: String?,
@Json(name = "name") var name: String?
)
继承自同一个类:
internal open class ClassA(
@Json(name ="type") var type: String?,
@Json(name ="sponsor-offer") var offer: SponsorOffer?,
@Json(name ="date") var date: Date?,
@Json(name ="weight") var priorityWeight: Int?
)
我正在使用一个 API 调用,该调用返回一个 ClassA 列表并通过改造解析为一个列表,并且需要在将每个对象添加到本地 ArrayList<Any> 之前将其强制转换为其中一个子类。
我试图通过遍历返回的列表并检查 B 类和 C 类的专有属性来做到这一点。然后在将对象添加到本地数组之前将其转换为适当的对象。如何检查这些属性?有没有更好的方法来做我想做的事情?
classA.javaClass.kotlin.members.any 不工作
【问题讨论】: