kotlin覆盖protobuf类型toString
假设我们有一些用protoc
生成的数据类。
谷歌toString()
吸引人的原因很多,它没有太多的人类可读性,甚至在代表性的螺丝钉和许多不希望多行日志的工具表示断行。
所以问题是: 我们如何重新定义像这样的类的自定义toString()?
我试过覆盖(或者可能隐藏?)原始toString()
与这样的扩展功能
fun Messages.DataClass.toString(): String { return "some custom logic" }
但它不会选择扩展功能
使用Kotlin无法更改类中现有方法的实现。 类中定义的实例方法总是优先于具有相同签名的扩展函数。