有两种方法:
Run Code Online (Sandbox Code Playgroud)String salary = company.getPerson(id).getData().getSalary(); String postcode = company.getPerson(id).getData().getPostCode();
要么
Run Code Online (Sandbox Code Playgroud)Data data = company.getPerson(id).getData(); String salary = data.getSalary(); String postcode = data.getPostCode();
哪种方式首选,为什么?除了可读性之外还有什么好处?
如果该人不存在,我实际上更喜欢第三种选择
Person person = company.getPerson(id);
if(person != null) {
Data data = person.getData();
if(data != null) {
String salary = data.getSalary();
String postcode = data.getPostCode();
}
}
Run Code Online (Sandbox Code Playgroud)
这取决于是否可能存在空值.如果您可以保证不会有空值,那么您可以消除部分/全部空检查.
正如另一位用户在下面的评论中指出的那样,可能存在这样的情况:在这种情况下,没有任何方法调用可以返回null,除非性能是一个问题,否则在我看来它真的会归结为个人偏好.
我可能仍然希望将它们分成单独的调用,即使没有空检查.
归档时间: |
|
查看次数: |
276 次 |
最近记录: |