我是Kotlin的新手,如果我没有正确地阐述概念,请道歉。我有一个实体的实例
[TestEntity(applicationId=1, timestamp=2018-01-24T18:40:30, issueState=MA, product=test, status=sold, paymentMode=VISA, premium=null)]
我正在编写一个服务,它将使用这些密钥并使用它们来创建报告的标题。密钥可能会根据用户尝试生成的报告类型而更改,这将对将要实例化的实体产生影响。
我希望能够遍历此实体,以便我可以创建一个用于标头的数组。有关我如何做到这一点的任何想法?
答案 0 :(得分:2)
我认为最干净的解决方案是storing values in a map and delegating properties to it。
如果没有一些冗长的getter链或丑陋的反思恶作剧,不要以为你可以在类字段上进行迭代。
例如,您可以在此处访问地图字段,就像它们是类字段一样,但也可以轻松地遍历map
。
data class TestEntity(val map : Map<String, Any>){
val appId : Int by map
val timeStamp : Long by map
(... more fields)
}