ari*_*nai 5 java debugging intellij-idea
如果我重载toString(),IntelliJ中的调试器将Object.toString()在变量选项卡中向我显示相关对象附近的结果.
如果toString超载return "Test1: This is toString overload";:
有时,我想在调试中看到的与一般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";
}
}
Run Code Online (Sandbox Code Playgroud)
根据其他答案,我想到创建一个静态类,该类将为调试器提供正确的调试字符串。
所以我创建了这样的类,它减少了配置这些数据视图所需的步骤,并使其更加灵活和舒适。
Objects在调试自定义数据视图中设置常量表达式。[*]toDebugString()方法,如果存在,该类将提供它。否则,如果toString()被覆盖,它将使用它;如果没有,它将使用默认的Object.toString().[*] 此步骤只需执行一次,因为 IntelliJ 将其保留在全局设置中。
在我的 GitLab 上公开可用 - IntelliJ-CustomDebugDataView
| 归档时间: |
|
| 查看次数: |
374 次 |
| 最近记录: |