2016-10-18 23 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了解更多详情。