上回说到:String s="a"+"b"+"c"+"d"创建了几个对象?(假设之前串池是空的)
本文将作出回答,先看一下下面简单代码:
package com.xufengzhu;接下来不要运行它,先编译,看下编译后的文件:
public class client {
/**
* @param args
*/
public static void main(String[] args) {
String string="a"+"b"+"c"+"d";
System.out.println(string);
}
}
小伙伴们立马就心领神会了吧!
在编译时就已经生成了"abcde",+号的效率是很高的,只在常量池中产生1个对象~