使用Eclipse调查Java中的数据结构

时间:2012-07-13 09:45:52

标签: java eclipse data-structures

我在java中有一个对象,我知道这个对象包含有用的信息,问题是我不知道字段的名称,我不知道这个对象是否包含真实数据或只是引用,考虑到这个以及我只知道这个对象的标签的事实,我有什么选择来调试这个数据结构并从中获取信息?

可以列出与特定类型相对应的每个对象吗?

4 个答案:

答案 0 :(得分:3)

打印(并搜索)班级中的字段:

static Object fieldOdClass(final String className,
        final String valeurRecherche1) {
        try {
            final Field[] f = Class.forName(className).getFields();
            for (int i = f.length - 1; i >= 0; i--) {
                System.out.println(f[i].toString());
                if (f[i].toString().endsWith(valeurRecherche1)) {
                    return f[i].toString();
                }
            }
        } catch (final ClassNotFoundException e) {
            // manage errors;
        }
    }

答案 1 :(得分:1)

打开源文件,然后查看大纲视图:

如果您的观点中看不到它,请转到: Window > 显示视图> 概要

这应该可以很好地概述对象提供的数据/方法。

答案 2 :(得分:1)

解决此问题的最佳方法是将此对象置于调试模式,您可以在Watch视图中轻松发现对象字段及其值。但是如果您没有选择在调试中运行,这就变得棘手了。我建议的另一种方法是使用一些通用逻辑覆盖toString()方法,该逻辑使用反射递归输出所有内容。您可以完成相同的操作,没有使用任何JSon / XML序列化库实现的样板代码。剩下的就是让它在这个地方运作。

答案 3 :(得分:1)

您可以使用Eclipse中的Debug在运行时查看对象的所有属性。它非常有用,您无需创建任何代码。只需在读取对象的行上放置一个断点即可。此外,当您的应用程序在调试模式下运行并且突出显示您的对象的行时,您可以按CTRL + SHIFT + I查看详细信息。