android - 如何为 kotlin 正确创建辅助构造函数
问题描述
我正在开发一个应用程序,我在其中管理应用程序用户提供的不同服务。
所以,我想创建一个辅助构造函数,我可以在其中将价格添加到服务中。关于我在不同论坛上阅读的内容,正确的方法是将主构造函数的属性委托给 this() 调用,而在我的情况下,辅助构造函数负责新属性作为价格。
所以我尝试做这样的事情:
@kotlinx.serialization.Serializable
data class Service(
var status: String?,
var type: String,
) : Serializable {
//TODO: Crear onstructor secundario para instanciar
// los service mostrados en el publishFragment.
constructor(
status: String,
type: String,
price:Int)
: this(status, type){
}
}
但是我不知道如何在没有工具的情况下将价格设置为第一个构造函数。
我猜
解决方案
在数据类中,主构造函数必须设置所有值。在您的情况下,您可以只使用具有默认价格值的主构造函数:
data class Service(
val type: String,
val status: String? = null,
val price: Int? = null
)
您当然可以添加辅助构造函数而不是使用默认值,它只会使用空值调用主构造函数。
推荐阅读
- wordpress - 将 woocommerce 产品图片重定向到自定义 URL 而不是产品页面
- android - 如何使用 UcanAccess 将 accdb 连接到 Android 应用程序?
- postgresql - 为什么在 ORDER BY 中“输出列名必须独立,即不能在表达式中使用”?
- html - Bootstrap 导航栏项目适合内容的宽度
- php - Doctrine:Repository 和 QueryBuilder 或 DQL 有什么区别?
- javascript - 如何将日历的开始日期布局从星期日更改为星期一?
- mysql - 迄今为止的字符串不起作用(php & MySQL
- c# - 从 Android 应用上传包含数据的文件
- c# - 如何保持重复switch语句C#
- swift - 将圆圈分成标题部分