为java编程语言创建新变量或重用旧变量是更快的吗?示例
案例1:创建
int x = 5;
int var = 1;案例2:重用旧的
int x = 5;
x = 1;发布于 2016-06-23 01:06:24
“哪个更快?”是个错误的问题。“哪一种算法是正确的?”才是正确的问题。
通常,只有当变量需要保存一个新的原语值或指向另一个对象时,才会重用它,因为它是表示当前状态的变量。如果该变量被重新分配以保存一些含义不同的内容,则不应该这样做,而应该使用一个新变量。
因此,sum += item;是变量sum的有效重用。但
foo = 42;
buyQuantity(foo);
...
foo = 23;
sendMessages(foo);不是foo的有效重用。
一个相关但不同的问题是,是否应该重用一个对象来保存新值。通常不会。例如:
Foo foo = new Foo();
for (int ix = 0; ix < MAX_ITERS; ++ix )
{
foo.clear();
foo.fill();
process(foo);
}比以下情况更糟:
for (int ix = 0; ix < MAX_ITERS; ++ix )
{
Foo foo = new Foo();
foo.fill();
process(foo);
}https://stackoverflow.com/questions/37980066
复制相似问题