我在 Spring Tool Suite 4 中以调试方式运行测试。 (在定期手动测试代码时,一切正常)。在代码中我初始化了一个 ArrayList<>.
ArrayList<MyEntity> lst = new ArrayList<MyEntity>()
但是 lst 变量显示为 null 并带有以下错误消息:
Error The method toArray() is undefined for the type Collection___
当我尝试编辑它显示的逻辑结构时:
Type: Collection(java.util.Collection) Show As: Array[contributed by org.eclipse.jdt.debug]
Preview: return toArray();
此问题仅在我尝试调试测试时才会出现。
最佳答案
嗯,我在几台具有许多不同 Oracle 和 OpenJDK JVM 的机器上遇到了同样的问题。
- 左侧,STS 4.2.2 中列表元素无法显示
- 右侧,在STS 3.9.5中正确显示
- 两者都在同一台 Windows 计算机和 Oracle JDK 9.0.1 上运行
Screen grab of STS 4.2.2 issue and STS 3.9.5 success with JDK 9.0.1
更新
我刚刚将其中一个失败的 STS4 安装更新到最新版本,问题似乎已经消失。我收到的版本是:
- STS 4.3.0.RELEASE - 版本号 201906200901
- 该版本包括 Eclipse JDT 3.18.0.v20190605-1800
关于java - 在 Debug模式下Arraylist的逻辑结构是Array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56703294/