Java中嵌套方法调用的空检查

Java中嵌套方法调用的空检查,java,syntax,error-handling,null,Java,Syntax,Error Handling,Null,我需要空检查嵌套方法调用,如下所示: if (getShopModel() != null && getShopModel().getType() != null) 但我不认为这是最好的方法,因为我给getShopModel打了两次电话,可能会很贵 是否有更好的方法检查getShopModel().getType(),这样我只需要调用getShopModel()一次?使用变量 Model model = getShopModel(); if (model != null &am

我需要空检查嵌套方法调用,如下所示:

if (getShopModel() != null && getShopModel().getType() != null)
但我不认为这是最好的方法,因为我给getShopModel打了两次电话,可能会很贵

是否有更好的方法检查getShopModel().getType(),这样我只需要调用getShopModel()一次?

使用变量

Model model = getShopModel();
if (model != null && model.getType() != null)

如果您对“getShopModel”返回的值感兴趣,这不需要花费任何费用,可以节省额外的调用,甚至可以使调试变得更容易。

太棒了!Java最丑陋的地方是它似乎滋生了长而难以理解的方法调用字符串。@Gene,是的,我也讨厌这些。它们看起来很聪明,但调试它们却是地狱。但也有一些编码样式明确地表示它们,例如。