Kotlin功能返回值正在保存在firebase中

我面临奇怪的问题,我有像下面kotlin类

class RequestCenterDetails : Serializable{ var instituteId: String? = null var centerId: String? = null var centerKey: String? = null var instituteKey: String? = null var studentId: String? = null var studentUID: String? = null var studentFullName: String? = null var studentEmailId: String? = null var status: String? = null var requestTime: Long? = null var grantTime: Long? = null var grantUserUID: String? = null var grantUserEmailID: String? = null var rejectComment: String? = null var grantUserName: String? = null var active: Boolean? = null var instituteName: String? = null var centerAddress: String? = null var centerLocation: GeoPoint? = null // this function return value is getting stored in firebase fun isActiveRequest() : Boolean { return active ?: false } } 

这就是我如何保存到firebase

 DatabaseReference requestRef = studentAccessRequestRef.child("/" + appfirebaseUserId + "/" + requestDetails.getCenterKey()); requestRef.setValue(requestDetails); 

这就是它的存储返回类型

在这里输入图像描述

我想知道为什么它存储函数的返回值。 #AskFirebase

只要使用@Exclude注释来避免这种情况,否则Firebase SDK会由于变量序列化而将该值触发到POJO对象。

尝试如下所示:

 @Exclude fun isActiveRequest(): Boolean = active ?: false