kotlin覆盖protobuftypestoString

假设我们有一些用protoc生成的数据类。

谷歌toString()吸引人的原因很多,它没有太多的人类可读性,甚至在代表性的螺丝钉和许多不希望多行日志的工具表示断行。

所以问题是: 我们如何重新定义像这样的类的自定义toString()?

我试过覆盖(或者可能隐藏?)原始toString()与这样的扩展function

 fun Messages.DataClass.toString(): String { return "some custom logic" } 

但它不会选择扩展function

使用Kotlin无法更改类中现有方法的实现。 类中定义的实例方法总是优先于具有相同签名的扩展函数。

Interesting Posts