2015-04-22 22 views
0

最近我在读我得到这个什么是编译器在JAVA中内嵌的时间常量表达式值?

“当你声明一个String(这是不可改变的)变量,最终,和 与编译时间常数表达式初始化它,它也成为 编译时常量表达式,它的值由编译器 在内部使用。“

“我真的很困惑这是什么意思,它的价值是由编译器内联”?请简单的方式解释如果可能的话

Source of the above line

+0

请附上链接,你找到具体引用的文字! – Dev

+0

Inling基本上意味着“用方法中包含的实际值或代码替换对变量/方法的调用”。这是性能考虑因素。 –

+0

可能的重复http://stackoverflow.com/questions/9082971/compile-time-constants-and-variables – dhke

回答

2

当字符串是定稿,并在编译时初始化,编译器可以将字符串复制,粘贴到代码,而不是在每次使用查找变量。类似于inline expansion

final String a = "asd"; 
String b = a; 

上面的代码变得

final String a = "asd"; 
String b = "asd"; 
相关问题