有人可以用Java解释这种方法:

时间:2018-10-24 22:50:48

标签: 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();
        }

2 个答案:

答案 0 :(得分:0)

解释此块有些困难,原因有两个。 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()方法,然后返回该结果

}

答案 1 :(得分:-1)

无效,必须返回一件事。也没有什么可以与开头的if语句进行比较。我不同地建议修改代码并重新评估逻辑。

相关问题