java - 多行 lambda
问题描述
我有这个代码,它有效:
new JdbcTemplate(new SingleConnectionDataSource(c, true))
.query("select id, name from PLAYERS", (rs, rowNum) ->
new Player(rs.getString("id"), rs.getString("name")) // oneline
);
但是我现在需要在 new Player() 部分添加多个语句。我尝试将它们括在括号中,但它似乎不起作用。什么是正确的语法?
解决方案
我假设这个 lambda 表达式实现的功能接口的方法有一个返回值,所以在使用括号时,它应该包含一个返回语句,就像任何具有非 void 返回类型的方法一样。
new JdbcTemplate(new SingleConnectionDataSource(c, true))
.query("select id, name from PLAYERS", (rs, rowNum) ->
{
return new Player(rs.getString("id"), rs.getString("name");
})
);
推荐阅读
- java - Spring事务配置减去Exception(`-Exception`)的含义
- python - 无法将 INSERT 查询中的 POINT 数据类型转换为 PostgreSQL。需要插入表格的经度、纬度
- php - 通过 function.php 的古腾堡核心/列属性
- r - 如果没有收到错误消息,我无法将我的情节编织成 PDF
- extjs - 刷新时,更改 GridPanel 中列的状态(折叠/展开)不会保存在内存中
- php - 在php中这个请求之后会发生什么
- javascript - 如何使用公共键合并属性数组
- regex - 如何在记事本++中使用正则表达式搜索具有特定域的电子邮件
- docker - 跨容器运行持久化 Dockerized Consul KV Store
- c# - 你能捕捉到抛出 NullReferenceException 的对象的名称吗?