上回說到: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個對象~