【问题标题】:Kotlin to override protobuf types toStringKotlin 覆盖 protobuf 类型 toString
【发布时间】:2016-03-15 09:34:08
【问题描述】:

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

Google 的 toString() 很糟糕,原因有很多,它的可读性不是很好,甚至在表示中放置了换行符,这会搞砸日志和许多不需要多行日志的工具。

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

我试图用这样的扩展函数覆盖(或者隐藏?)原始toString()

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

但它不会拾取扩展功能。

【问题讨论】:

    标签: protocol-buffers kotlin


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-16
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-02
      相关资源
      最近更新 更多