【发布时间】:2012-01-21 01:06:42
【问题描述】:
在 Eclipse 中调试 java 程序时,在变量视图中,当您突出显示一个变量时,它会在下面的窗格中打印该变量的详细信息。该窗格称为“详细信息视图”,显示的值是变量的“详细信息”。默认情况下,它只是对变量调用.toString() 的结果。但是 Eclipse 允许您为任意对象指定和自定义“详细格式化程序”,将它们映射到该视图中更有帮助和描述性的字符串。
我的问题是:在数组(比如整数)上调用的 .toString() 方法返回一个无用的内存地址。然而,当我在调试模式下突出显示一个数组变量时,Eclipse 似乎智能地将它解析为一个非常有用的逗号分隔字符串(例如"[42, 13, null, 19]")。我认为这意味着 Eclipse 已经为具有非常有用的功能的数组建立了默认的 Detail Formatter。 有谁知道如何在我的代码中利用 Detail Formatter 来避免重写相同的逻辑?
如果您有兴趣,动机是为 SQL 查询生成 IN 子句的内容。也就是说,我正在尝试生成一个 SQL 查询:
SELECT * FROM table WHERE id IN (1,2,3)
从一个任意的 int[]:
int[] ids = new int[] {1,2,3}
我意识到我可以通过编写一个 for 循环、使用 StringBuilder 等来实现这一点,但我想知道 Eclipse 是否已经为我完成了这项工作并公开了一个有用的方法(阅读:我非常懒惰)
【问题讨论】:
标签: java sql eclipse debugging