Firebase的数据类空构造函数

data class MainPosts(val context: Context, val posts: Posts, val livePost: LivePosts?) { constructor() : this(null!!, null!!, null!!) } 

嘿,我一直想弄清楚如何在Firebase的数据类上创建一个空的构造函数。

我试过了上面的代码,但没有正常工作。

要获得默认构造函数,您应该初始化值:

 data class MainPosts( val context: Context = someDefaultValue1, val posts: Posts = someDefaultValue2, val livePost: LivePosts? = null) 

如果它们从构造函数代码中看起来都是可空的:

 data class MainPosts( val context: Context? = null, val posts: Posts? = null, val livePost: LivePosts? = null) 

这给你一个默认的构造函数。

通过这种方式呈现构造函数:

 data class MainPosts(val context: Context?=null, val posts: Posts?=null, val livePost: LivePosts?=null) 

很好的答案已经建议。 然而,另一种方法是使用no-args编译器插件生成一个合成的无参数构造函数。 它专门设计用于提供默认参数可能不合意的情况。

结帐https://kotlinlang.org/docs/reference/compiler-plugins.html#no-arg-compiler-plugin