189 8069 5689

JAVA中怎么利用for循环重复调用list.size()

这篇文章给大家介绍JAVA中怎么利用for循环重复调用list.size(),内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:国际域名空间、网站空间、营销软件、网站建设、江川网站维护、网站推广。

代码如下:

public class Test2 {
    public static void main(String[] args) {

        List list = new ArrayList();

        list.add("1");
        list.add("2");

        for (int i = 0; i < list.size(); i++) {
            System.out.println(i);
        }
    }
}

这里将list.size()放在了for循环里,按朋友的说法,这里应该会调用多次。

接下来我查看了字节码发现,这里确实会调用多次list.size()方法,字节码如下:

JAVA中怎么利用for循环重复调用list.size()

具体字节码指令解析可查看:http://www.blogjava.net/DLevin/archive/2011/09/13/358497.html

接着查看了ArrayList调用size()方法的源码是直接返回一个int 型的 size变量的,而这个size变量是每次新增和删除都会改变这个size的值

JAVA中怎么利用for循环重复调用list.size()

结论:经过网友们热情的探讨与更正,for循环里会多次调用list.size(),list.size()方法会直接返回一个声明在类中的size全局变量,虽然这个size会直接保存在堆中,但每次发生函数调用确实会发生压栈出栈的性能开销。

关于JAVA中怎么利用for循环重复调用list.size()就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。


分享名称:JAVA中怎么利用for循环重复调用list.size()
文章地址:http://cdxtjz.com/article/jidjge.html

其他资讯