【发布时间】:2017-06-26 08:34:44
【问题描述】:
我有一个数据类
@Entity(tableName = "type")
data class Type(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
var type: Int = 0
)
编译项目时收到消息
错误:房间不能选择一个构造函数,因为多个构造函数是合适的。
但如果我将数据类更改为
@Entity(tableName = "type")
data class Type(
@PrimaryKey(autoGenerate = true) var id: Int = 0,
var type: String = ""
)
或java类
@Entity(tableName = "type")
public class Type {
@PrimaryKey(autoGenerate = true)
private int id;
private int type;
// getters and setters
}
它工作正常。 是 Kotlin 的 bug 还是别的什么?
【问题讨论】:
-
我无法复制问题,您的房间版本是多少?
-
这可能是因为当您有默认参数时,Kotlin 会为您的 Type 类生成多个 Java 构造函数。这似乎与here 描述的问题有关
-
@Tuby Room 版本是
1.0.0-alpha3
标签: java android kotlin android-room