调试器显示在返回boolean []的方法上调用的.length的“格式错误的表达式”?

时间:2016-12-13 11:26:36

标签: java debugging

这不是代码问题,更需要解释。

我有一个被覆盖的函数并创建一个布尔数组,如:

 if (fillSort().length == xyz.length)

稍后,在基本文件中我希望得到该数组的长度,我调用重写的方法并进行比较,如:

fillSort().length

它正常工作,但是如果我想通过调试器检查返回的长度,它会告诉我Angular2 HTTP是一个格式错误的表达式并且等于错误。

如果我把它放在关注列表中,它会返回 base (未覆盖)方法的长度。为什么呢?

正确的长度,程序正确进行,但调试器没有看到它。怎么样?

编辑:使用Netbeans 8.2作为IDE。

1 个答案:

答案 0 :(得分:1)

当您将鼠标悬停在它上面时,Netbeans调试器对于评估 fillSort()并不够聪明。

这就是为什么它似乎是一个格式错误的表达。

在某种程度上它会帮助你:你在“对元素做某事”的事实与回报长度无关。也许你不应该依赖匿名临时但使用像

这样的东西
boolean[] foo = fillSort();
if (foo.length == xyz.length)