当我们为了可读性将一长行代码分成两行时,它会在行之间引入一个加号(如果在文本之间拆分)。 例如,在文本中间分割一条长行,记录一些文本。
那么,鉴于它带来了额外的字符串连接,应该避免这种情况?或者更好的可读性的权衡更重要?
最佳答案
所有常用的 Java 编译器都太成熟了,无法在运行时执行诸如连接字符串之类的愚蠢操作。让我们检查。鉴于此代码:
public class CatStrings {
public static void main(String [] args) {
String a = "This is a long long long string broken up "
+ "into parts to see if the compiler "
+ "optimizes the concatenation.";
System.out.println(a);
}
}
我的 Java 8 编译器 - Oracle 标准 - 执行正确的操作,如 javap
输出所示:
stack=2, locals=2, args_size=1
0: ldc #2 // String This is a long long long string broken up into parts to see if the compiler optimizes the concatenation.
2: astore_1
3: getstatic #3 // Field java/lang/System.out:Ljava/io/PrintStream;
6: aload_1
7: invokevirtual #4 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
10: return
关于java - 将长日志行分成两部分的性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41540849/