这个问题在这里已经有答案了:
'optional.get()'不带'ispresent()'检查(4个答案)
三年前关门了。
在访问下面代码段的sonar问题中的值之前,我将得到call“optional#ispresent()”,请帮助我解决此问题。
List <Department> deptList =new ArrayList();
List<Student> studList=new ArrayList();
Department dept= studList.stream().min(comparator.comparing(Department::getDepartmentNo)).get();
在访问值之前调用“optional#ispresent()”。
2条答案
按热度按时间uqxowvwt1#
Optional#get()
如果optional中没有任何内容,则引发异常。sonar希望您在获得下面代码段中的值之前检查可选值,但我不建议您将其作为Optional
类用于防止空指针异常一个更好的做事方式是:
在本例中,如果optional不包含任何值(为空),deptopt将返回默认的department对象。
不管怎样-无论你选择什么方法都应该解决你的声纳问题。
mwecs4sa2#
要使代码正常工作,请至少使用option中的一个安全选项(ha,此处允许单词冗余)
其中“null”应该是空列表的一个值,我不知道上下文,这就是为什么我把null放在这里,请不要用null!,选择正确的值