先贴源代码如下所示:使用Eclipse编译器,JDK1.6
public class TestString {
public static void main(String[] args) {
String s = "a"+"b"+"c"+"d";
System.out.println(s);
}
}
再来看看,使用jd-gui,也就是Java Decompiler查看的反编译后的class文件代码。
public class TestString
{
public static void main(String[] args)
{
String s = "abcd";
System.out.println(s);
}
}
也就是说,对于字符串常量来说,在编译期(转换为class文件之时)就会存在优化。
那么,问一个问题,在上述例子之中,创建了几个对象?