Firebase的数据类空构造函数

时间:2017-05-26 21:19:23

标签: firebase firebase-realtime-database kotlin

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

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

我尝试了上面的代码,但是它无法正常工作。

3 个答案:

答案 0 :(得分:8)

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

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) 

这为您提供了默认构造函数。

答案 1 :(得分:1)

已经提出了很好的答案。但是,另一种方法是使用no-args编译器插件生成合成无参数构造函数。 它专门为确保提供默认参数的情况而设计。

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

答案 2 :(得分:0)

以这种方式呈现构造函数:

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