我的数据类像:
data class Animal(var id:Int = 2) {
}
模块类中的 My Provision 方法,如下所示:
@Provides
@Singleton
fun provide(): Animal {
return Animal()
}
我想避免数据类参数中的默认值。
根据文档,在使用数据类主构造函数时,必须至少传递一个参数。 从类中删除数据,删除数据后不需要将至少单个参数传递给构造函数。希望这对你有帮助。
class Animal() {
var id:Int = 2
}
@Provides
@Singleton
fun provide(): Animal {
return Animal()
}
只需保持字段可为空并将它们分配为空即可。
类:
data class Animal @Inject constructor(
var id: Int? = null
) { }
模块:
@Provides
fun providesAnima(): Animal = Animal()
要避免数据类参数中的默认值,您必须将其设置为可选。在 kotlin 中要使可选,您必须使用 ?与参数。
data class Animal(var id:Int?=null) {
}