首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建新变量与重用旧变量哪个更快?

创建新变量与重用旧变量哪个更快?
EN

Stack Overflow用户
提问于 2016-06-22 23:54:19
回答 1查看 4.4K关注 0票数 4

为java编程语言创建新变量或重用旧变量是更快的吗?示例

案例1:创建

代码语言:javascript
复制
int x = 5;
int var = 1;

案例2:重用旧的

代码语言:javascript
复制
int x = 5;
x = 1;
EN

回答 1

Stack Overflow用户

发布于 2016-06-23 01:06:24

“哪个更快?”是个错误的问题。“哪一种算法是正确的?”才是正确的问题。

通常,只有当变量需要保存一个新的原语值或指向另一个对象时,才会重用它,因为它是表示当前状态的变量。如果该变量被重新分配以保存一些含义不同的内容,则不应该这样做,而应该使用一个新变量。

因此,sum += item;是变量sum的有效重用。但

代码语言:javascript
复制
foo = 42;
buyQuantity(foo);
 ...
foo = 23;
sendMessages(foo);

不是foo的有效重用。

一个相关但不同的问题是,是否应该重用一个对象来保存新值。通常不会。例如:

代码语言:javascript
复制
Foo foo = new Foo();
for (int ix = 0; ix < MAX_ITERS; ++ix )
{
    foo.clear();
    foo.fill();
    process(foo);
}

比以下情况更糟:

代码语言:javascript
复制
for (int ix = 0; ix < MAX_ITERS; ++ix )
{
    Foo foo = new Foo();
    foo.fill();
    process(foo);
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37980066

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档