如何在Eclipse调试器中显示数组长度?

ded*_*dek 5 java eclipse arrays debugging

在Eclipse中调试java程序时,我可以看到(例如在Variables视图中)任意数组的内容,请参见下面的图片(带ByteArrayInputStream.buf字段).

带有数组的Eclipse Variables视图

但我无法在任何地方找到数组长度字段.有没有办法在Eclipse调试器中显示数组的长度?我该怎么做?

And*_*ter 3

您可以使用“表达式”视图并评估length成员:

表达式选项卡截图

请记住,最后一个索引比长度小一!

虽然这适用于公共数组成员,但受保护的成员似乎需要显式转换。考虑以下代码:

...
ByteArrayInputStream is = new ByteArrayInputStream(new byte[1769]);
...
Run Code Online (Sandbox Code Playgroud)

现在,在计算 时is.buf,表达式视图显示了问题中所示的数组转储,但计算is.buf.length失败并显示<error(s)_during_the_evaluation>。如果我们向 添加显式强制转换ByteArrayInputStream,则评估有效:

在此输入图像描述