2016-04-14 82 views
0

在过去,我不得不创造一些无法真正变成一堆小方法的巨大方法,因为这样做根本没有任何意义。如果(真)减少范围:好主意或垃圾?

由于初始化很多变量可能会占用相当大的内存,所以我问自己,简单地使用if(true)语句是否有助于缩小这些情况下的范围,从而减少内存负载。

例子:

if (true) { 
MyClass obj1 = new MyClass(1); 
MyClass obj2 = new MyClass(2); 
} 
// ...rest of method which does not need obj1 and obj2 

这是一个实用的方法还是彻底的垃圾?

+0

这是否诚实看起来像可读的代码给你?而且,你如何看待这会减少内存负载? – rmlan

+1

在方法完成之前,变量会被垃圾收集,这比等待整个方法结束并且看到它的变量在那个时候被垃圾收集好得多。 –

+0

一个简单的'obj1 = null'(和一个注释)将会更加可读。 – nyname00

回答

3

您不需要if(true)来减少变量的范围。

这将足以

{ 
MyClass obj1 = new MyClass(1); 
MyClass obj2 = new MyClass(2); 
} 
+0

哇,我真的不知道你可以做到这一点,非常感谢。 –