我们有一组包含许多“虚拟字段”的类,其中每个“字段”的实际存储是具有非明显索引的数组元素,并且“字段”始终由 getter/setter 访问。在显示此类对象时,最好显示“虚拟字段”,看起来像普通字段,但使用 getter/setter 进行访问。
详细格式化程序,AFAICT,并没有真正提供一种方法来做到这一点。
如果我什至可以为此获得只读支持(没有设置器),那将有所帮助。
我希望(可能是徒劳的)有一个解决方案,我们可以使用某种配置文件或进程,甚至可能是插件来为所有这些类设置它。
逻辑结构是您所需要的。所以我有这门课
public class Something {
public String[] fields;
public Something(final String[] fields) {
this.fields = fields;
}
public String first() {
return fields[0];
}
public String second() {
return fields[1];
}
}
然后您可以进入 Preference > Java > Debug > Logical 结构并添加您的类和具有相应 getter 方法的字段,如下所示
这将导致调试窗口看起来像这样
如果没有,请确保选择了逻辑结构按钮(指向树结构的黄色箭头)
我能想到的最接近的事情是实现 toString() 以便虚拟字段的值以可读格式作为字符串的一部分返回。这可能无法扩展到许多“虚拟”字段,但它是一种有用的调试技术(通常)。当您在调试器中选择一个对象时,将显示其 toString() 结果。