这两种代码写法哪一种更优,还是都一样

for(int t=0;t<N;t++)
{
Point2D point=new Point2D(Math.random(),Math.random());

    point.draw();
    ------------------------------------------------------------------------------

    Point2D[] points = new Point2D[N];
    for (int i = 0; i < N; i++) {
        points[i] = new Point2D(Math.random(), Math.random());
        points[i].draw();

3个回答

这就有点像几个String类型变量用“+”链接,和StringBuffer的区别了,但又不是完全相同
一个用一点分配一点内存地址, 另一个先分配一块数组地址再往里面加
我觉得N值如果很大的话,第二种方式效率或许会高一些吧!
如果我的观点有误,欢迎大家指出

第二种方式更好,声明一个变量也是要时间和内存的,一个声明的变量被多次使用自然比for里多次声明再销毁再声明再销毁。。。要好些。
声明时可以为null
Point2D[] points = null;

qq_27718453
庄粟 道理还是一样的
3 年多之前 回复
qq_27718453
庄粟 ...看错了,你直接用第一种方法for循环里写:new Point2D(Math.random(),Math.random()).draw();最快了
3 年多之前 回复

不要再for里面new 对象,还有for时可以先把长度在外定义好,不要每次循环都会去计算for的次数

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐