0

我们有一组包含许多“虚拟字段”的类,其中每个“字段”的实际存储是具有非明显索引的数组元素,并且“字段”始终由 getter/setter 访问。在显示此类对象时,最好显示“虚拟字段”,看起来像普通字段,但使用 getter/setter 进行访问。

详细格式化程序,AFAICT,并没有真正提供一种方法来做到这一点。

如果我什至可以为此获得只读支持(没有设置器),那将有所帮助。

我希望(可能是徒劳的)有一个解决方案,我们可以使用某种配置文件或进程,甚至可能是插件来为所有这些类设置它。

4

2 回答 2

1

逻辑结构是您所需要的。所以我有这门课

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 方法的字段,如下所示

添加逻辑结构

这将导致调试窗口看起来像这样

调试变量

如果没有,请确保选择了逻辑结构按钮(指向树结构的黄色箭头)

于 2013-03-18T19:44:31.220 回答
0

我能想到的最接近的事情是实现 toString() 以便虚拟字段的值以可读格式作为字符串的一部分返回。这可能无法扩展到许多“虚拟”字段,但它是一种有用的调试技术(通常)。当您在调试器中选择一个对象时,将显示其 toString() 结果。

于 2013-03-18T19:02:26.103 回答