❌一、错误展示
使用SpringBoot时出现如下错误:
Inferred type ‘S’ for type parameter ‘S’ is not within its bound
错误代码:
代码语言:javascript复制 public Type updateType(Long id, Type type) {
Optional<Type> t = typeDao.findById(id);
if (t == null){
throw new NotFoundException("不存在该类型");
}
BeanUtils.copyProperties(type,t);
return typeDao.save(t);
}
✅二、解决办法
第一种:
代码语言:javascript复制将
typeDao.findById(id);
改为typeDao.findById(id) .orElse(null);
public Type updateType(Long id, Type type) {
Type t = typeDao.findById(id).orElse(null);
if (t == null){
throw new NotFoundException("不存在该类型");
}
BeanUtils.copyProperties(type,t);
return typeDao.save(t);
}
第二种:
代码语言:javascript复制将
typeDao.findById(id);
改为typeDao.findById(id) .get();
public Type updateType(Long id, Type type) {
Type t = typeDao.findById(id).get();
if (t == null){
throw new NotFoundException("不存在该类型");
}
BeanUtils.copyProperties(type,t);
return typeDao.save(t);
}