在java中,“for(inti=0;i
在我的代码中有一个实例,在下一次迭代之前,我必须继续将int数组的值重置为0。目前我只做:在java中,“for(inti=0;i,java,arrays,loops,Java,Arrays,Loops,在我的代码中有一个实例,在下一次迭代之前,我必须继续将int数组的值重置为0。目前我只做: array = new int[array.length]; 这是一件好事还是应该使用循环来代替?这似乎是一个非常方便的无副作用的捷径 这似乎是一个非常方便的捷径,没有副作用 每次创建新数组不是都有副作用吗?即使使用原语,如果需要多次执行此操作,也会单独影响应用程序的性能 您应该使用循环,一个循环重用现有数组,而另一个循环创建新数组。创建新的数组可能会给GC带来更大的压力,但它可能不会产生显著的影响:短
array = new int[array.length];
这是一件好事还是应该使用循环来代替?这似乎是一个非常方便的无副作用的捷径
这似乎是一个非常方便的捷径,没有副作用
每次创建新数组不是都有副作用吗?即使使用原语,如果需要多次执行此操作,也会单独影响应用程序的性能
您应该使用循环,一个循环重用现有数组,而另一个循环创建新数组。创建新的数组可能会给GC带来更大的压力,但它可能不会产生显著的影响:短暂的对象创建和GC是极为重要的事实。但是如果您更喜欢第二个,那么使用@JB Nizet-agree,但是让我们提一下,fill仍然在使用loop insidehmm老实说,我甚至想不出一个用例,在这个用例中,我会有一个需要频繁重置的数组。当然,这可能会有副作用-如果数组在其他地方使用,你最终会有一个不相交的数组创建一个新的数组-如果这是好的还是不好的,即使是想要的,也取决于用例。我喜欢问题的要点,所以我投了赞成票。我不知道为什么它会获得反对票。