Kotlin 覆盖 protobuf 类型 toString
Kotlin to override protobuf types toString
假设我们有一些数据 classes 是用 protoc
.
生成的
Google 的 toString()
由于多种原因很糟糕,它不是很容易阅读,甚至在表示中放置换行符,这会搞砸日志和许多不期望多行日志的工具.
所以问题是:我们如何为这样的 class 重新定义自定义 toString()?
我试过用这样的扩展函数覆盖(或者隐藏?)原始 toString()
fun Messages.DataClass.toString(): String {
return "some custom logic"
}
但它不会获取扩展功能。
无法使用 Kotlin 更改 class 中现有方法的实现。 class 中定义的实例方法始终优先于具有相同签名的扩展函数。
假设我们有一些数据 classes 是用 protoc
.
Google 的 toString()
由于多种原因很糟糕,它不是很容易阅读,甚至在表示中放置换行符,这会搞砸日志和许多不期望多行日志的工具.
所以问题是:我们如何为这样的 class 重新定义自定义 toString()?
我试过用这样的扩展函数覆盖(或者隐藏?)原始 toString()
fun Messages.DataClass.toString(): String {
return "some custom logic"
}
但它不会获取扩展功能。
无法使用 Kotlin 更改 class 中现有方法的实现。 class 中定义的实例方法始终优先于具有相同签名的扩展函数。