这段代码的泛型写法,写出java代码 public Review addProjectSpecialty(Integer reviewid, List<Integer> projectspecialtyids) { ReviewDO reviewdo = basedorepo.findById(reviewid).get(); projectspecialtyids.forEach(item -> { ProjectSpecialtyDO projectspecialtydo = projspecdorepo.findById(item).get(); reviewdo.getProjectSpecialtyDOs().add(projectspecialtydo); }); return dataconverter.toTModel(basedorepo.save(reviewdo)); }
时间: 2023-06-13 16:02:47 浏览: 83
这段代码的泛型写法是使用了Java 8的Lambda表达式来遍历`projectspecialtyids`列表,并将其中的每个元素转化为`ProjectSpecialtyDO`对象,然后将这些对象添加到`reviewdo`对象的`ProjectSpecialtyDOs`列表中。
下面是代码的泛型写法:
```java
public <T extends BaseEntity> T addProjectSpecialty(Integer reviewid, List<Integer> projectspecialtyids, JpaRepository<T, Integer> repo) {
T reviewdo = repo.findById(reviewid).get();
projectspecialtyids.forEach(item -> {
T projectspecialtydo = repo.findById(item).get();
reviewdo.getProjectSpecialtyDOs().add(projectspecialtydo);
});
return repo.save(reviewdo);
}
```
这里的`<T extends BaseEntity>`表示泛型`T`是`BaseEntity`的子类,同时使用了`JpaRepository<T, Integer>`来代替具体的`basedorepo`和`projspecdorepo`,使得这个方法可以适用于任何继承自`BaseEntity`的实体类的操作。
阅读全文