ArrayList.size() 方法是否缓存?
我想知道,您可以在现有缓存上调用的方法吗?还是在性能关键代码中,我只将 存储在本地int中更可取?size()
ArrayList<T>
size()
我希望它确实被缓存,当你没有在调用之间添加/删除项目时。size()
我说的对吗?
更新
我不是在谈论内联或类似的东西。我只想知道该方法本身是否在内部缓存该值,或者它是否每次调用时都会动态计算。size()
我想知道,您可以在现有缓存上调用的方法吗?还是在性能关键代码中,我只将 存储在本地int中更可取?size()
ArrayList<T>
size()
我希望它确实被缓存,当你没有在调用之间添加/删除项目时。size()
我说的对吗?
更新
我不是在谈论内联或类似的东西。我只想知道该方法本身是否在内部缓存该值,或者它是否每次调用时都会动态计算。size()
我不认为我会说它是“缓存”的 - 但它只是存储在一个字段中,所以它足够快,可以经常调用。
Sun JDK 的实现只是:size()
public int size() {
return size;
}
是的。
快速浏览一下Java源代码会告诉你答案。