【发布时间】:2021-09-19 08:09:47
【问题描述】:
我的问题是我想要一个仅适用于数据类的扩展函数。
例如,假设我有多个数据类。
data class Person(
val name: String,
val age: Int
)
data class Car(
val color: Color,
val brand: String
)
等等。
现在我想创建一个仅为数据类扩展的扩展函数,而不是像这样我必须为每个类创建扩展函数。
例如我的扩展函数:
fun Person.convertToJson() : String {
return Gson().toJson(this)
}
fun Car.convertToJson() : String {
return Gson().toJson(this)
}
我只想要一个具有魔力的函数,我也不想使用泛型,因为它对所有对象都可用。这是通用函数示例:
fun <T> T.convertToJson() : String {
return Gson().toJson(this)
}
我想要与只适用于数据类类型的泛型函数等效的东西。
【问题讨论】: