2016-10-18 34 views
13

我在科特林(例如)這個數據類:火力地堡@exclude與科特林數據類

import com.google.firebase.database.Exclude 

data class User(val name: String = "", @Exclude val age: Int = 0) 

而且我不希望保存在火力年齡屬性。 @Exclude應該這樣做,但它不工作,年齡仍然保存。

是否有任何解決方法?

+0

從我讀的它應該是相同的,但前綴'排除'與「領域:」有什麼區別? 'data class User(val name:String =「」,@field:Exclude val age:Int = 0)' – mfulton26

+1

沒有,沒有任何區別,但@get:排除作品(發現它感謝你)。如果你想將它作爲答案發布,我會接受它。 –

+2

啊,現在你提到它也是有道理的。團隊努力! – mfulton26

回答

24

@Exclude放在一個屬性上的目標是它的生成字段,而不是它生成的get accesor方法。要做到後者,你需要在「get:」前加上「Exclude」。例如:

data class User(val name: String = "", @get:Exclude val age: Int = 0) 

查看Annotation Use-site Targets瞭解更多詳情。