我有以下代码:
int num = (map.get(result.getNumber()) != null ? map.get(result.getNumber()) : 0);
我的问题是:
map.get
是否执行了两次(一次用于评估,一次用于放置)?
我的目标是将 get
语句减少为单个调用。
注意:result.getNumber
可以为空。
最佳答案
在 Java 8 中 getOrDefault
方法被添加到 Map
接口(interface)。如果您不将 null
存储为映射中的值,则可以使用以下代码:
int num = map.getOrDefault(result.getNumber(), 0);
关于java - 如果两次评估语句是否短路?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325659/