我真的需要我的工作,Netbeans调试器使用特定的格式化程序显示变量数据。 我还知道如何使用选项面板中的基本格式化程序配置,但在这种情况下我需要更强大的功能。
特别是我有一个包含复杂数据结构的“ToView”类。另一个名为“FormatItCorrectly”的类使用“format”方法,该方法将ToView类作为参数并将我想要查看的字符串返回到调试器中。
public String format(ToView instance);
示例:
String desiredString = FormatItCorrectly.format(toViewInstance);
进入选项面板 - > Java - > Java调试器我添加了一个名为“自定义格式化程序”的新变量格式化程序,并将其作为类型“ToView”推出,现在我必须将其作为代码段添加到“由代码片段生成的值格式化”字段中?
答案 0 :(得分:0)
在NetBeans中的“变量格式化程序”对话框中,您需要输入要使用自定义格式的类类型的完整包和类名。
因此,例如,您需要输入"类类型"字段为
com.myapp.ToView
假设您的类在com.myapp包中。
为了充分利用NetBeans中的自定义格式化程序,您应该在类ToView上添加一个方法,以便对其进行格式化。然后,此方法可以调用您的格式化程序来生成格式正确的字符串。
因此,您可以在ToView类上创建一个方法
public String format() {
return FormatItCorrectly.format(this);
}
在NetBeans变量格式化程序对话框中,您将指定"值格式化为代码段"是:
format();
如果您不想将现有代码更改为" format()"方法,您可以定义要调用的自定义变量格式化程序并返回格式正确的对象。如下例所示,定义"变量格式化为代码片段的结果"是:
Class.forName("com.myapp.FormatItCorrectly");
return FormatItCorrectly.format(this);
您可以在这里看到我们必须使用Class.forName()方法将FormatItCorrectly类的实例加载到调试器中,以便我们可以调用它的format()方法。调试器只能调用范围内的类的方法以进行格式化,因此在我们尝试使用之前,我们需要确保FormatItCorrectly类在范围内。