2016-03-15 101 views
2

假設我們有一些使用protoc生成的數據類。kotlin覆蓋protobuf類型toString

谷歌toString()由於多種原因吸吮,它沒有太多的人類可讀性,甚至在表示方式上表現出斷行,這種情況造成了日誌和許多不期望多行日誌的工具。

所以問題是:我們如何重新定義一個像這樣的類的自定義toString()?

我試圖重寫(或者躲起來?)原來toString()像這樣

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

的擴展功能,但它不會拿起擴展功能

回答

5

這是不可能改變使用Kotlin在課堂上實施現有方法。在類中定義的實例方法總是優先於具有相同簽名的擴展函數。