在下面的代码中:
return new HashSet<>(namedParameterJdbcTemplate.query(
SOME_SQL_QUERY_STRING,
parametersMap,
(resultSet, rowNum) -> resultSet.getBigDecimal("GETID")
));
我在 (resultSet, rowNum) -> resultSet.getBigDecimal("GETID"))
下看到一条红线和以下错误:No instance(s) of type variable(s) T exist so that List<T> conforms to Integer
.有人可以帮我说说为什么会这样吗?
最佳答案
根本问题是(基于代码)推断出不同(不需要的)重载版本的“查询”方法,并且作为第三个参数给出的 lambda(函数)不适合此版本的“查询”。
解决此问题的一种方法是通过提供类型参数来“强制”您想要的查询功能:
return new HashSet<>(namedParameterJdbcTemplate.<BigDecimal>query( ...
关于java - 不存在类型变量 T 的实例,因此 List<T> 符合 Integer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019400/