我有一些类似以下模式的代码:
return a().b().c().d().e();
现在,由于这些方法中的每一个都可能返回null
,因此通常需要进行以下测试:
if( (a()!=null) && (a().b() != null) && ....) {
return a().b().c().d().e();
} else {
return null;
}
(也许可以使用一些本地变量来避免重复调用)
我想这样做:
try {
return a().b().c().d().e();
} catch (NullPointerException e) {
return null;
}
这算是不好的编写风格吗?效率低下?还是可以接受的?