我的项目中的应用:
JPA项目,findById的返回值是Optional<T>,而非实体类
关于Optional<T>,在项目中的使用比较简单,主要代码大致如下:
//根据id查询teacher
Optional<Teacher> opt=repository.findById(teacherId);
//如果opt有值,获取实体对象
Teacher teacher=null;
if(opt.isPresent){
teacher=opt.get();
}else{
throw new RuntimeException("id为"+teacherId+"的teacher对象不存在");
}
上面主要使用了isPresent()方法和get()方法
前者是判断Optional里面有没有值,有值的话,返回true
后者则是获取容器内的对象
基础用法:
参考链接https://www.runoob.com/java/java8-optional-class.html
下面示例是菜鸟教程的