java - 有人可以用Java解释这个方法吗:
问题描述
这是在一个称为资源的类中。我不确定它的作用,需要帮助理解它。trainingDTO 有一个 UUID 和一个 Item。
if (this.toDoList.addItem(trainingDto.getItem())) {
return Response.status(200).build();
TrainingDTO returnDTO = new TrainingDTO();
returnDTO.setItem(trainingDto.getItem());
UUID uuid = toDoList.findUUIDByValue(trainingDto.getItem());
returnDTO.setUUID(uuid.toString());
return Response.ok(returnDTO).build();
}
解决方案
解释这个块有点困难,原因有两个。1.) 你没有给我们太多的上下文:即我们没有包含块的方法,或者任何其他周围的代码。2.) 这种方法有一些奇怪的代码。话虽如此,让我们逐行浏览:
if (this.toDoList.addItem(trainingDto.getItem())) {
这个if
条件有点复杂,因为addItem()
显然不仅仅是返回一个布尔值。通常,这被认为是错误的形式(方法应该只做一件事,添加到列表和返回布尔值是两件事)。但这就是它的作用:它添加(或尝试添加)到toDoList
,并返回一个布尔值。
return Response.status(200).build();
正如所写,这将始终是执行的最后一行。这个 return 语句总是会导致函数返回,这意味着下面的行将不会被执行。但如果没有,那么下面的行将......
TrainingDTO returnDTO = new TrainingDTO();
创建一个新的类型对象TrainingDTO
returnDTO.setItem(trainingDto.getItem());
根据现有对象的字段设置该对象的字段(if
条件中引用的相同)
UUID uuid = toDoList.findUUIDByValue(trainingDto.getItem());
if
从条件中找到对象的称为 UUID 的值
returnDTO.setUUID(uuid.toString());
使用上面的 UUID 值来为我们的新对象设置 UUID 值
return Response.ok(returnDTO).build();
Response
使用新对象创建一个,并调用其方法build()
,然后返回该结果
}
推荐阅读
- java - Thymeleaf、Spring MVC、web-app 和 rest 模块。无法处理地图
在 localhost:8081/transports 端点 - php - 作为一个选项从选择菜单中选择填充数据到数据库中的下一个选择菜单。找不到数据时如何显示“无可用数据”
- java - java中的executor接口是如何工作的?
- java - 如何将 JPA @Version 标记字段设置为显式值
- excel - 根据表格自动调整行以隐藏/显示
- asp.net - 有没有办法在 ASP.NET Core 的一个地方定义访问策略,类似于 Spring 安全的 antmatcher
- javascript - 类或对象类型
- docker - 如何使用 init 容器等到另一个 pod 开始运行?
- c# - 如何仅在 5 分钟后创建新文件并将所有 5 分钟数据写入该文件
- javascript - 如果警报框的条件