首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Kotlin中,如何为实体使用数据类?

在Kotlin中,如何为实体使用数据类?
EN

Stack Overflow用户
提问于 2019-02-13 22:01:39
回答 1查看 123关注 0票数 2

我有一个Kotlin数据类:

代码语言:javascript
复制
data class Somebody(var id: String, var created: Date, var address1: String, var address2: String,
                         var city: String, var county: String, var hitCount: Integer, var lat: Double,
                         var lon: Double, var lookupSuccessful: Boolean, var name: String,
                         var neghiborhood: String, var partialMatch: Boolean, var searchedAddress: String,
                         var state: String, var zip4: String, var zip5: String, var active: Boolean,
                         var instructions: String, var  maxValue: Integer) {

}

问题是,我需要这个类的0参数构造函数,这样我就可以让iBatis、JPA、Jackson或者某个人创建一个。我如何做到这一点,但仍然没有空字段?

我是否可以在数据类中使用不为空的字段,并且仍然具有默认的no-arg构造函数?

EN

Stack Overflow用户

回答已采纳

发布于 2019-02-13 22:32:47

使用no 编译器插件,它为您创建一个空构造函数。

如果您使用Gradle,请将其添加到build.gradle文件中:

代码语言:javascript
复制
buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-noarg:$kotlin_version"
    }
}

apply plugin: "kotlin-noarg"

如果您不想使用它,您也可以这样做:您可以定义一个辅助构造函数,它用默认值初始化属性。

代码语言:javascript
复制
data class Somebody(
        var id: String,
        var created: Date
        // ...
) {
    constructor() : this(
            id = "", created = Date(), address1 = "" // ...
    )
}

不过,我不建议这样做,因为if可能会迫使您定义任意的默认值。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54680134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档