3

我有一个关于 Java 的一般性问题。

什么是更好的?

情况1:

a = method1(7);
b = method2(a);
c = method3(b);

或者

c = method3(method2(method1(7)));

案例2:

String a = method1(1);
String b = method2(2);
String c = method3(3);
String d = a+b+c;

或者

String d = method1(1)+method2(2)+method3(3);

我想知道在速度方面什么会更好......我猜第二种方式(两种方式)在内存占用方面更好,但我一直想知道一个是否比另一个更快,或者它们是否需要相同的时间来执行. 我正在编写一个多次调用相同函数的程序,所以每一毫秒都很重要!

如果他们可以在其他类别中竞争(除了速度等),也告诉我!

4

1 回答 1

4

执行速度不会有明显差异。将临时变量用于中间结果的代码之间的唯一区别是您可以在调试器中看到中间值。此外,如果在调用目标函数后没有使用中间变量的值,编译器很有可能会优化这些变量,生成相同的字节码。

于 2012-06-03T19:40:17.057 回答