访问Kotlin实体的属性

我是Kotlin的新手,非常抱歉,如果我没有正确expression概念。 我有一个实体的实例

[TestEntity(applicationId=1, timestamp=2018-01-24T18:40:30, issueState=MA, product=test, status=sold, paymentMode=VISA, premium=null)]

我正在编写一个服务,将采取这些键,并使用它们来创建报告的标题。 这些键可能会根据用户试图生成的报告的types而改变,这将对将被实例化的实体产生影响。

我想能够遍历这个实体,以便我可以创建一个数组用于标题。 任何想法,我如何做到这一点?

我认为最干净的解决方案是将值存储在地图中并将属性委托给它 。

不要以为你可以迭代类字段没有一些详细的getter链或丑陋的reflectionshenanigans。

例如,在这里,您可以像访问类字段一样访问地图字段,但也可以轻松地遍历map

 data class TestEntity(val map : Map){ val appId : Int by map val timeStamp : Long by map (... more fields) }