最近我在读我得到了这个
"When you declare a String (which is immutable) variable as final, and initialize it with a compile-time constant expression, it also becomes a compile-time constant expression, and its value is inlined by the compiler where it is used."
和“我真的很困惑,这意味着它的值是由编译器内联的”?如果可能,请用简单的方式解释它
最佳答案
当一个字符串在编译时完成并初始化时,编译器可以将字符串复制粘贴到代码中,而不是在每次使用时查找变量。类似于 inline expansion .
final String a = "asd";
String b = a;
上面的代码片段变成了
final String a = "asd";
String b = "asd";
关于java - JAVA中编译器内联的编译时常量表达式值是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29805619/