groovy - Groovy:点击与使用
问题描述
Groovy 具有tap
和with
功能。它们之间有什么区别
def user = new User('john', 1)
.tap {userService.save(it)}
def user2 = new User('Alex', 2)
.with {userService.save(it)}
userService
更新记录并返回更新的记录。
class UserService {
public User save(final User user) {
// save user
return updated // Id, lastmodified and other fields can be updated.
}
}
解决方案
tap
it
无论是否有 return 语句,总是返回,但with
将返回您显式返回的最后一个语句或语句的结果。
在您的问题中,user
将始终与 new 语句创建的对象相同。但是,user2
将是的返回值userService.save(it)
推荐阅读
- docker - 在 Windows 2019 服务器上运行 linux 容器时出错
- c# - 从几何点提取多边形纬度/经度
- c++ - 这个函数如何在不传递任何参数的情况下工作?
- reporting-services - SSRS 查找缺失数据集
- events - 是否可以通过 Cumulocity 中的自定义属性过滤事件
- java - 按下按钮时无法渲染矩形
- java - Java中有没有办法根据对象的子类调用不同的子方法?
- c# - 名称可以简化 - Visual Studio 2019 覆盖
- html - 为什么当我在 Chrome 中调整视口大小时,带有边距的网格项目:自动闪烁?
- sqlite - 如何使用sqlite查询日期