Java 类型集合的toArray方法未定义

Java 类型集合的toArray方法未定义,java,jdbc,spring-jdbc,jdbctemplate,Java,Jdbc,Spring Jdbc,Jdbctemplate,当查询中有多行时,类型集合的toArray方法未定义。当它只有一行时工作正常。我使用的是Java11 jdbcTemplate.query(sql, new EntityRespRowMapper()); 这是我的RowMapper类 public class EntityRespRowMapper implements RowMapper<EntityResponse>{ @Override public EntityResponsemapRow(Res

当查询中有多行时,类型集合的toArray方法未定义。当它只有一行时工作正常。我使用的是Java11

jdbcTemplate.query(sql,
        new EntityRespRowMapper());
这是我的RowMapper类

public class EntityRespRowMapper implements RowMapper<EntityResponse>{

  @Override
  public EntityResponsemapRow(ResultSet rs, int rowNum) throws SQLException {

    EntityResponse entity = new EntityResponse();

    entity.setEntity_id(rs.getLong("entity_id"));
    entity.setValue(rs.getString("value"));
    entity.setId(rs.getLong("id"));
    entity.setEnd_date(rs.getDate("end_date"));
    return entity ;
  }

}
公共类EntityRespRowMapper实现了RowMapper{
@凌驾
public EntityResponsemapRow(ResultSet rs,int rowNum)抛出SQLException{
EntityResponse实体=新的EntityResponse();
实体。设置实体id(rs.getLong(“实体id”);
entity.setValue(rs.getString(“value”);
实体.setId(rs.getLong(“id”);
实体。结束日期(rs.getDate(“结束日期”);
返回实体;
}
}

我做错了什么。有人能帮帮我吗。我也尝试了QueryForList,它给出了同样的问题

这是OpenJDK11而不是STS的问题。如果将版本更改为OpenJDK8或更改编译器兼容性&在OpenJDK8上构建项目;应该解决此错误。

尝试升级eclipse 2019-06及以上版本

即使使用默认支持Java11的eclipse 2019-03(eclipse-jee-2019-03),我也面临类似的问题。在调试模式下,尝试查看对象的内容时,无法显示内容

升级到eclipse 2019-06(同时使用Java 11.0.3和11.0.4)可以调试对象的内容


最新的STS也应该升级它的eclipse(不过我没有尝试过)。

请完整跟踪堆栈;)没有堆栈跟踪。当我调用数据库时,我在response对象中看到了这个错误。我刚刚意识到您的RowMapper类不会编译(在“构造函数”末尾显式返回)——我认为它不应该是构造函数。
EntityResponse
对象的
value
字段是否包含这个字符串?那就意味着它就是你的数据库所包含的内容。如果没有,请澄清。我们看不到你的屏幕。因此,您需要准确地解释您正在做什么,您期望发生什么,以及会发生什么。您到底在哪里使用toArray()?正确的语法是将空数组作为参数传递。也许这就是问题所在?