在循环中创建对象是一个好的习惯吗?我指的是以下代码:
for(some condition){
SomeClass a = new SomeClass ();
System.out.println(a);
}
所以这将为每个迭代创建一个新的SomeClass实例。因此实例数量将等于迭代次数。然后这些实例将稍后由GC收集。
在循环内部重用SomeClass对象是否更好?像这样:
SomeClass a = null;
for(some condition) {
a = new SomeClass();
System.out.println(a);
}
据我理解,第二种方式更好,因为它只会在最初创建 SomeClass 对象一次,然后在每次迭代中重复使用它。但是我还有疑虑,请确认这点,或者让我知道我的基础是否不正确。 根据要求返回的结果:
据我理解,第二种方式更好,因为它只会在最初创建 SomeClass 对象一次,然后在每次迭代中重复使用它。但是我还有疑虑,请确认这点,或者让我知道我的基础是否不正确。
a
,否则选择哪个都没有区别。即使生成的代码有非常微小的差异,它对性能的影响也可以忽略不计(并且对GC没有影响)。 - Hot Licks