【发布时间】:2014-05-07 15:30:41
【问题描述】:
我目前正在创建一个程序(实际上,我已经完成了),它将千字节转换为字节和兆字节。
这很容易,我花了几秒钟的时间来创建它。我的问题是我设法找到了大量的解决方案,这让我想知道哪个更有效。
这是字节输出的示例:
System.out.println(kiloByte + " KB = " + (1024 * kiloByte) + " bytes");
但想象一下,如果我必须在不同的地方打印字节,而不是我必须有类似的东西
System.out.println((1024 * kiloByte) + " " + (1024 * kiloByte));
在我看来,最好创建一个变量,而不是两次执行相同的操作,因此看起来像这样:
int vbyte = 1024 * kiloByte;
System.out.println( vbyte + " " + vbyte); // vbyte as a variable for bytes
虽然,我不能完全确定是这样,所以,我假设第一个版本比第二个慢是正确的吗?
【问题讨论】:
-
换句话说,如果我要多次重复相同的操作,是否最好创建一个变量然后调用它?
-
您可以测试它并与我们分享结果。
-
通常,只有在多次发出调用(例如在循环中)时,操作才有意义,您也可以查看
String连接与使用StringBuilder。但是,如果您不断重复信息,那么所有这些都非常重要,定期重复这些信息并没有那么重要。 -
@CeilingGecko 这里不需要 StringBuilder,javac 会自动为您完成。
-
@arghtype 在没有安全环境的情况下进行测试(例如,在这种情况下,几乎不可能保证速度降低仅仅是程序的错误;)