已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。
9小时前关门了。
Improve this question
对象有6,7个字段。cache.get()
是一个map读取。哪个更快?
obj temp = cache.get(key); // temporary object creation
Int id = temp != null ? temp.getId() : null;
或
Int id = cache.get(key) != null ? cache.get(key).getId() : null; // cache read twice
对于低延迟的Java,以上哪一个更好?
1条答案
按热度按时间kqlmhetl1#
在第一个代码片段中,你不是创建一个临时引用--你是将一个现有的对象赋给一个即将超出作用域的局部变量。
第一个代码片段更可取,尽管如果
cache
是一个简单的HashMap
,它可能不明显,但如果cache
是更花哨的东西,例如某种需要处理并发的同步Map,它就变得更重要了。