java - 在 Debug模式下Arraylist的逻辑结构是Array

标签 java eclipse spring-boot

我在 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/

相关文章:

java - Ant:多次替换源文件中的标记

java - Eclipse:使用另一个项目的用户库

java - 无法覆盖 Spring Boot 安全性

java - 将填充空格插入字符串

java - 构造函数注入(inject)的空指针异常并与字段注入(inject)mockito一起使用

java - 使用Uploadify时出错

java - 启动时删除变量

Java Eclipse @Override 错误

java - Spring引导+ hibernate 搜索: entityManagerFactory dependency error

java - Spring boot 1.2.5.RELEASE 与 OpenShift Tomcat 7 不兼容