如果我重载 toString()
,IntelliJ 中的调试器将在变量选项卡中的相关对象附近向我显示 Object.toString()
结果。
如果 toString
重载:返回“Test1:这是 toString 重载”;
:
有时,我想在调试中看到的与一般的 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";
}
}
最佳答案
您可以添加自己的。
interface Debuggable {
String toDebugString();
}
然后在调试器中右键单击一个变量 -> 自定义数据 View -> Java 类型渲染器 -> + -> 输入:Debuggable
它将在未来为任何程序的任何此类对象执行此操作。
关于java - IntelliJ 更改为 Debug模式的字符串(变量 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50722271/