这些陈述之间有什么区别吗?

m4d*_*ign 2 java memory performance resources method-call

之间有什么区别:

String x = getString();
doSomething(x);
Run Code Online (Sandbox Code Playgroud)

doSomething(getString());
Run Code Online (Sandbox Code Playgroud)

资源和性能明智,特别是它在一个循环中完成了数十,数百或数千次?

Joe*_*oey 7

它具有相同的开销.局部变量就是为了让您的生活更轻松.在VM级别,它们不一定存在,当运行机器代码时肯定不再存在.

所以你需要担心的是getString(),它是否可能是昂贵的.x很可能没有任何影响.