Optional vs if/else-if performance java 8
2022-09-03 08:58:12
你好,我有两个代码示例
if/else if/else 语句
private Object getObj(message) {
if (message.getA() != null)
return message.getA();
else if (message.getB() != null)
return message.getB();
else if (message.getC() != null)
return message.getC();
else return null;
}
可选语句
private Optional<Object> wrap(Object o){
return Optional.ofNullable(o);
}
private Object getObj(message) {
return wrap(message.getA())
.orElseGet(() -> wrap(message.getB())
.orElseGet(() -> wrap(message.getC())
.orElse(null)));
}
所以我的问题是这两者在性能方面如何比较(我对实际代码有大约15-20个if-else语句)?
是否值得重构代码可读性与性能,还是误用了可选项?
另外,如果 if/else-if 语句增长到 100+,性能损失是什么?
提前致谢