Если я перегружу toString()
, отладчик в IntelliJ покажет мне результат Object.toString()
рядом с соответствующим объектом на вкладке переменных.
Если toString
перегружен: return "Test1: This is toString overload";
:
![enter image description here](https://i.stack.imgur.com/u62VX.png)
Иногда то, что я хочу видеть в отладке, отличается от общей перегрузки toString
.Я знаю, что можно установить другое выражение для определенного типа / класса / и т. Д., Но только из настроек.
Есть ли способ (глобально) задать произвольное имя функции, которое будет иметь приоритет над toString
когда такая функция существует?
Например:
Если существует Object.toDebuggerString()
, используйте ее, в противном случае - Object.toString()
.
class Test1 {
@Override
public String toString() {
return "Test1";
}
}
class Test2 {
@Override
public String toString() {
return "Test2";
}
public String toDebuggerString() {
return "Testing debugging mode";
}
}