在Java中检查null的更好方法
我正在检查服务中的空值,该服务涉及如下数据库事务
if(!id.matches("-?\\d+(\\.\\d+)?") || contactService.getContact(id) == null){
throw new ResourceNotFoundException();
}
Contact contact = contactService.getContact(id);
但通过这种方式,我调用了两次getContact服务,这对应用程序来说是一种开销,这是检查null值的更好方法,所以我只需要调用一次服务
# 1 楼答案
做两次
if
# 2 楼答案
那怎么办
# 3 楼答案
但是,如果ID与批准的格式不匹配,则最好抛出
IllegalArgumentException
(因为这与没有有效ID条目的错误不同),您应该使用Pattern.compile
将该模式保存为常量字段,而不是(1)在每次调用时重新编译它,(2)将其作为神奇常量隐藏在代码的深处