Java中for循环每次都通过list.size、str.length、length()获取数组或者字符串的长度是否消耗资源 | 您所在的位置:网站首页 › java中size和length有什么区别 › Java中for循环每次都通过list.size、str.length、length()获取数组或者字符串的长度是否消耗资源 |
最近看到有同事在使用for循环的时候首先会将数组或者字符串的长度赋值给一个变量;在网上查了一下说是这样可以节约资源的消耗,真实的情况又是如何?让我们看下他们的源码来分析。 1.将数组的长度赋值给变量len List list = new ArrayList(); list.add(1); list.add(2); for(int i=0,len=list.size();i 0) System.arraycopy(elementData, index+1, elementData, index, numMoved); elementData[--size] = null; // clear to let GC do its work return oldValue; }我们可以看到源码中定义了一个size变量,数组在新增或者删除元素的时候会直接修改这个变量的值,每次调用size方法的时候是直接去取size变量的,不会去重新计算数组的大小,所以对于list数组来说不会过多的消耗资源。 2.字符串类型的长度赋值给变量len String str = "asdf"; for(int i=0,len=str.length();i |
CopyRight 2018-2019 实验室设备网 版权所有 |