哪个更快,创建新变量vs重用旧变量?

时间:2016-06-22 23:54:19

标签: java performance variables

哪个更快创建新变量或重用旧的变量用于java编程语言? 例子

案例1:创建

int x = 5;
int var = 1;

案例2:重用旧的

int x = 5;
x = 1;

1 个答案:

答案 0 :(得分:1)

“哪个更快?”这是错误的问题。 “这对算法来说是正确的吗?”是一个正确的问题。

通常,只有在需要保存新的原始值或指向其他对象时才重用变量,因为它是表示当前状态的变量。如果重新分配变量以保存意味着某些不同的东西,则不应该这样做,而是使用新变量。

因此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);
}