【发布时间】:2013-07-03 15:38:20
【问题描述】:
我一直以为java中的表达式是这样的:
String tmp = "someString";
只是某种“语法糖”
String tmp = new String("someString");
当我最近反编译我的 java 应用程序时,我看到了所有的用法
public static final String SOME_IDENTIFIER = "SOME_VALUE";
在代码中仅被值替换,并且静态最终变量被剥离。
不是每次想要访问静态 final 时都实例化一个新的 String 吗?这怎么能算是“编译器优化”??
【问题讨论】:
-
很可能是实习的原因。
标签: java string compiler-construction instantiation compiler-optimization