1、String对象和String字符串对比
String s1 = "hello";
String s2 = new String("world");
通过编译class文件,执行javap -v xxx.class 可以查看常量池如下
2、String对象和String字符串相加对比
String s1 = "hello" + "world";
String s2 = new String("good" + "man");
通过编译class文件,执行javap -v xxx.class 可以查看常量池如下,可以看出在编译成class阶段java已经把字符串优化成了一个。
3、String对象和String字符串混合相加对比
String s1 = "hello" + new String(" boy");
通过编译class文件,执行javap -v xxx.class 可以查看常量池如下,