5
我使用階以下的方法來獲取類中的所有字段的保持:查找類領域合成成員斯卡拉
val fields = contract.getClass.getDeclaredFields.toList.map(value => {
value.setAccessible(true)
value.getName
})
contract
已被定義爲在我的代碼的類。 由於我使用反射,問題是我得到另一個元素$jacocoData
作爲其中一個字段。我想忽略這個領域。 'hacky'這樣做的方式是知道它總是附加在列表的末尾,所以我可以通過更改我的函數簽名來修復它,以包括productArity
,並且只需要第一個arity
元素這樣的:
def getFields(contract: Contract, arity: Int): List[String] = {
val fields = contract.getClass.getDeclaredFields.toList.map(value => {
value.setAccessible(true)
value.getName
})
//to ignore $jacocoData (Java code coverage) field
val firstnFields = fields.take(arity)
firstnFields
}
據this FAQ最後一點,我需要擺脫掉一類的合成成員。我怎麼做?