披露:我是Java新手
我需要从第三方包中访问对象中的字段。我在堆转储中找到了该对象,但是我无法找到可以从外部引用的对象的名称。如果我在堆转储中为“从类名x中选择x”执行OQL查询,则得到的结果是类名#1。不幸的是,field.get不喜欢classname#1作为参数,netbeans给了我一个非法字符\ 35错误。
有关如何获取field.get将接受的此实例的对象名称的任何提示?
编辑:这是第三方程序的扩展程序。应用程序需要在第三方程序运行时从中提取信息。
edit2:here是heapdump的截图,我需要知道如何获取绿色箭头指向的对象名称。
答案 0 :(得分:1)
如果不确切知道自己要做什么,我猜测Eclipse等Java IDE会比OQL更好地为您提供所需的内容。
您是否仅限于在OQL中工作 - 或者您只是尝试使用OQL来查找未来开发中使用的详细信息?
如果是后者,如果你试图在其他代码中引用类/方法/变量,我假设你有一个JAR或* .class文件,你正试图与其他代码接口。如果您将其他代码(即使是字节码格式,没有原始源代码)添加为项目的引用,大多数IDE(包括Eclipse)将向您展示所有可用类,方法和实例变量的精美轮廓 - 假设没有使用混淆。