Room无法选择一个构造函数,因为多个构造函数都是合适的错误 [英] Room cannot pick a constructor since multiple constructors are suitable error

查看:632
本文介绍了Room无法选择一个构造函数,因为多个构造函数都是合适的错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试在我的android kotlin项目中实现持久性库,但是在编译时捕获了此错误:

I try to implement persistent library in my android kotlin project, but catch this error on compile time:

错误:房间无法选择一个构造函数,因为有多个构造函数 合适的.尝试使用@Ignore注释不需要的构造函数.

error: Room cannot pick a constructor since multiple constructors are suitable. Try to annotate unwanted constructors with @Ignore.

错误代码:

@Entity
data class Site(
        var name: String = "",
        var url: String = "",
        @PrimaryKey(autoGenerate = true) var id: Long = 0)

推荐答案

我遇到了此错误,因为Kotlin显然为具有默认参数值的单个Kotlin构造函数生成了多个Java构造函数.工作代码见下:

I had this error because Kotlin apparently generates multiple Java constructors for a single Kotlin constructor with default argument values. Working code see next:

@Entity
data class Site(
        var name: String,
        var url: String,
        @PrimaryKey(autoGenerate = true) var id: Long)

这篇关于Room无法选择一个构造函数,因为多个构造函数都是合适的错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆