1、String对象时不可变的,每次修改String实际上都是创建了一个全新的String对象
2、用于String对象的+和+=操作符是java中唯一重载过的操作符,java中不允许程序员自定义操作符
3、研究javap命令!!!
4、字符串相加的代码,每次相加都会产生一个新的字符串,这造成了系统的额外开销,因此编译器会自动引入StringBuilder类,并调用append方法代替字符串相加,这样做就只是在最终新建了一个字符串对象而已,提高了效率。但是,如果在循环代码中使用字符串拼接,仍然建议使用StringBuilder类来操作,因为编译器自动引入的StringBuilder会在每一次循环都初始化一个对象出来,这也是没有必要的。而且显式的创建StringBuilder的做法还可以预先指定大小,以避免重复分配缓存
5、StringBuilder和StringBuffer的区别,后者是线程安全的
新闻热点
疑难解答