临时变量(尤其是像String这样小的变量)的创建与代码的速度无关紧要,因此您不必再为此担心。
尝试测量在这部分代码中花费的实际时间,我敢打赌,您会发现根本没有性能差异。调用
toString()和打印结果所花费的时间比存储临时值所花费的时间要长得多,而且我认为您根本不会在这里找到可测量的差异。
即使字节码在这里看起来有所不同,这也是因为它
javac很幼稚,您的JIT编译器为您完成了繁重的工作。如果此代码确实对速度很重要,那么它将执行很多次,并且您的JIT将选择它以编译为本机代码。两者很可能都编译为相同的本机代码。
最后,为什么要调用
System.out.println()关键性能代码?如果这里有任何事情会影响您的表现,那将会。



